Leetcode-Remove Duplicates from Sorted List
2015-10-30 20:48
375 查看
Problem:
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.
Analysis:
这个题很简单主要思想是如何删除节点,非常经典的方法是p.next = p.next.next,但是这个题的难点在头和尾的保留和删除,保留头节点就用返回head来解决,(自己一直返回p导致头结点不好解决),为了处理尾节点不报异常,需要在if语句中加入p.next!=null。
Anwser:
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.
Analysis:
这个题很简单主要思想是如何删除节点,非常经典的方法是p.next = p.next.next,但是这个题的难点在头和尾的保留和删除,保留头节点就用返回head来解决,(自己一直返回p导致头结点不好解决),为了处理尾节点不报异常,需要在if语句中加入p.next!=null。
Anwser:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode p = head; while(p!=null){ if(p.next!=null && p.val==p.next.val){ p.next = p.next.next; } else { p = p.next; } } return head; } }
相关文章推荐
- BZOJ4300 绝世好题
- 一个有序正整数集S,若要保证整数集中所有的数通过组合(相加)可以表示1~N中任意一个正整数
- C++编写安全OCX,IE不弹出安全提示
- 腾讯新闻评论数据爬取
- python模块官网大全
- 二维数组中的查找
- 软工文档中的那些图
- sicily 1031. Campus
- Java基础学习12(Java SE图解以及Java基本思想讲解)
- Java 自动装箱与拆箱(Autoboxing and unboxing)
- 排序
- HANA学院(2)-使用数据服务(use data services)
- IC设计笔试
- poj3461Oulipo
- [M]表格中的天正文字转换问题
- XYLX 10.12 数列
- sicily 1438. Shopaholic
- 网 上 找 了 些 练 习 题 试 试 手
- King is back,English study in the morning
- UML九种图与软件开发