题解 | #删除链表峰值#
更多关于算法题解、软件开发面经、机器学习算法面经、各企业面试问题记录,关注Fintech砖,持续更新中。https://www.nowcoder.com/users/873777317
企业面试记录专栏https://www.nowcoder.com/creation/manager/columnDetail/0YBWnm
机器学习面经专栏https://www.nowcoder.com/creation/manager/columnDetail/j8nNy0
软件开发面经专栏https://www.nowcoder.com/creation/manager/columnDetail/0aXKaM
【1】题目考察的知识点:链表、快慢指针
【2】题目解答方法的文字分析
- 定义快慢指针:慢指针为头节点,快指针为头节点下一个节点
- 若快指针的值大于左右值,慢节点跳过该节点,更新快节点
- 否则,更新快慢指针
【3】本题解析所用的编程语言:python
【4】完整且正确的编程代码
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
def deleteNodes(self , head: ListNode) -> ListNode:
if head is None and head.next is None:
return head
slow=head
fast=head.next
while fast and fast.next:
if fast.val>slow.val and fast.val>fast.next.val:
slow.next=fast.next
fast=fast.next
else:
slow=fast
fast=fast.next
return head
#晒一晒我的offer##如何判断面试是否凉了##23届找工作求助阵地##我的实习求职记录##软件开发薪资爆料#编程算法题详解集锦 文章被收录于专栏
牛客top101+牛客top202+leetcode热题
查看13道真题和解析
