题解 | 删除链表峰值

删除链表峰值

https://www.nowcoder.com/practice/30a06e4e4aa549198d85deef1bab6d25

  1. 初始条件写好。
  2. 注意 L14 判断 nxt.next 不为 null。否则 L9 空指针错误。

import java.util.*;

public class Solution {
    public ListNode deleteNodes (ListNode head) {
        if (head == null || head.next == null) {
            return head;
        }
        ListNode pre = head, cur = head.next;
        while (cur.next != null) {
            final ListNode nxt = cur.next;
            if (pre.val < cur.val && cur.val > nxt.val) {
                pre.next = nxt;
                cur.next = null;
                if (nxt.next == null) {
                    break;
                }
                pre = nxt;
                cur = nxt.next;
            } else {
                pre = cur;
                cur = nxt;
            }
        }
        return head;
    }
}

全部评论

相关推荐

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

创作者周榜

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