删除排序链表所有重复元素,使得每个元素只出现一次(一)

随声附和 提交于 2020-02-21 19:26:36

给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。LeetCode的83题,以后题目的序号有可能会改变

示例 1:   给定链表: 1->1->2    处理结果: 1->2

示例 2:   给定链表: 1->1->2->3->3     处理结果: 1->2->3

代码如下:

原文链接:https://blog.csdn.net/if_i_were_a/article/details/89092123

public ListNode deleteDuplicates(ListNode head) {
  //设置一个指向当前元素的指针
  ListNode current = head;
  //当链表为空或者链表中遍历到最后一个元素时,出循环
  while (current != null && current.next != null) {
    //如果找到当前节点和它的下一个结点的值相同,删除掉下一个结点
    if (current.next.val == current.val) {
      current.next = current.next.next;
    } else {
      //如果没有找到,当前节点后移
      current = current.next;
    }
  }
  return head;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!