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,哈哈。

 

转载于:https://www.cnblogs.com/mc-ksuu/p/5808688.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值