• leetcode 83 删除排序链表中的重复元素


    给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

    示例 1:

    输入: 1->1->2
    输出: 1->2
    示例 2:

    输入: 1->1->2->3->3
    输出: 1->2->3

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

     1 public class _83 {
     2     public ListNode deleteDuplicates(ListNode head) {
     3         if (head == null || head.next == null) return head; // 空链表或者只有一个节点的链表
     4         if (head.next.next == null && head.val == head.next.val) return head.next; // 链表只有有两个相同的节点
     5 
     6         ListNode p = head;
     7         ListNode q = p.next;
     8         while (true){
     9             while (q != null && p.val == q.val)
    10                 q = q.next;
    11             if (p.next != q){
    12                 p.next = q;
    13                 p = q;
    14             } else {
    15                 p = p.next;
    16             }
    17             if (q == null)
    18                 break;
    19             q = p.next;
    20         }
    21         return head;
    22     }
    23 
    24     public static void main(String[] args) {
    25         int[] elems = {1,1};
    26         ListNode head = _82.create(elems);
    27         ListNode p = new _83().deleteDuplicates(head);
    28 
    29         while (p != null){
    30             System.out.print(p.val+", ");
    31             p = p.next;
    32         }
    33     }
    34 }
  • 相关阅读:
    vue element-ui 动态上传
    vue element ui 导航刷新 is-active
    算法图解笔记
    简单操作的一些小技巧
    大话数据结构 -07-1 图的定义、抽象数据类型与存储结构
    ELO kernels 记录
    [2] day 02
    [1] first day
    大话数据结构 -04-3 队列
    大话数据结构 -04-2 栈的应用-递归
  • 原文地址:https://www.cnblogs.com/yfs123456/p/11552274.html
Copyright © 2020-2023  润新知