文章目錄
- 删除表中排序連結清單中的重複元素
- 題目描述
- code
- 思路
删除表中排序連結清單中的重複元素
題目描述
給定一個排序連結清單,删除所有重複的元素,使得每個元素隻出現一次。
示例 1:
輸入: 1->1->2
輸出: 1->2
輸入: 1->1->2->3->3
輸出: 1->2->3
code
思路
package com.wangyg.leetcode;
import org.junit.Test;
public class LeetCode3 {
@Test
public void test() {
Solution solution = new Solution();
//輸入: 1->1->2->3->3
//輸出: 1->2->3
ListNode head = new ListNode(1);
ListNode node1 = new ListNode(1);
ListNode node2 = new ListNode(2);
ListNode node3 = new ListNode(3);
ListNode node4 = new ListNode(3);
head.next = node1;
node1.next = node2;
node2.next = node3;
node3.next = node4;
while (solution.deleteDuplicates(head) != null) {
System.out.println(head.val);
head = head.next;
}
}
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
}
//删除重複元素
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null|| head.next == null){
return head;
}
ListNode cur = head;
ListNode next = head.next;
//1->1 ->1 ->2->3->3
while (next != null) {
if (cur.val == next.val) {
while (next!= null && cur.val == next.val) {
next = next.next;
}
//進行改變
cur.next = next;
}else{
cur = next;
next= next.next;
}
}
return head;
}
}
}