题解 | #删除链表峰值#

更多关于算法题解、软件开发面经、机器学习算法面经、各企业面试问题记录,关注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】题目解答方法的文字分析

  1. 定义快慢指针:慢指针为头节点,快指针为头节点下一个节点
  2. 若快指针的值大于左右值,慢节点跳过该节点,更新快节点
  3. 否则,更新快慢指针

【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热题

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务