首页 > 代码库 > LeetCode--Remove Duplicates from Sorted List
LeetCode--Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
LeetCode上很简单的一道题,处理链表将链表中重复的数值去除只保留一个。大致流程如下:
1.先判断链表是否为空或只有一个结点,是的话直接返回,否则进行一般处理。
2.一般处理,以head作为循环变量,当head不为最后的尾结点时进行循环,从头到尾依次将head和head.next的值两两比较。
3.注意head.val==nextNode.val时,考虑超过两个重复值的情况,将nextNode去除并赋值去除的结点的下一个结点,head结点不变。
head.val!=nextNode.val时,head和nextNode同时向后移动。
1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode(int x) { 7 * val = x; 8 * next = null; 9 * }10 * }11 */12 public class Solution {13 public ListNode deleteDuplicates(ListNode head) {14 ListNode result = head;15 if(head==null||head.next==null){16 return head;17 }else{18 ListNode nextNode = head.next;19 while(nextNode!=null){20 if(head.val == nextNode.val)21 {22 head.next = nextNode.next;23 nextNode = head.next;24 }25 else if(head.val != nextNode.val){26 head = nextNode;27 nextNode = nextNode.next;28 }29 }30 31 }32 return result;33 }34 }
LeetCode--Remove Duplicates from Sorted List
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。