leetcode修炼之路——83. 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.

题目分析:简单来说就是去除有序链表中重复的值。

代码实现:

ListNode:

1 public class ListNode {
2     int val;
3     ListNode next;
4 
5     ListNode(int x) {
6         val = x;
7     }
8 }

具体代码实现:

 1 public static ListNode deleteDuplicates(ListNode head) {
 2 
 3         if (head != null) {
 4 
 5             if (head.next != null) {
 6                 if (head.val == head.next.val) {//如果值相等
 7                     head.next = head.next.next;//让他后面的指向后面的后面
 8                     deleteDuplicates(head);//再次进行比较
 9                 } else {
10                     deleteDuplicates(head.next);
11                 }
12             }
13 
14         }
15 
16         return head;
17     }

总体来说还是比较简单,一次ac,哈哈。

 

posted @ 2016-08-25 23:01  风起云涌,勿忘本心  阅读(203)  评论(2)    收藏  举报