由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Leetcode 83题 remove duplicates from sorted list
相关主题
请教一道单链表问题请大牛review一下这个Insertion Sort List的解法
leetcode上的sorted list to BST[ 每日一课] Sort List
leetcode 关于Partition Listleetcode上的populate next node I and II
c/c++ double pointer研究LeetCode:Partition List 哪位帮我看看, 为什么总是TLE
leetcode上的Sort List那道题根据我面过的hp来的人,基本都没竞争力
[BSSD]回国一趟回来做题很难进入状态了,顺便问下那个Merge k Sortedleetcode过的一代工程师
leetcode Sort ListM家 onsite 悲剧,同胞们弄死烙印吧
Leetcode swap Paris 这个怎么改进?发个pure storage的interviewstreet题目
相关话题的讨论汇总
话题: head话题: listnode话题: prev话题: current话题: next
进入JobHunting版参与讨论
1 (共1页)
m******g
发帖数: 3667
1
为什么要把head赋给current?然后再操作?
如果直接在head进行操作 (删掉ListNode current = head 这一行,current改成head
),实际返回[2],期待[1,2], 链表是1-1-2
但是我想不通啊,第一个node=1 怎么会消失的?
class Solution {
public ListNode deleteDuplicates(ListNode head) {

if (head == null) {
return null;
}
ListNode current= head;
while(current.next!=null) {
if (current.val == current.next.val){
current.next = current.next.next;
}
else current= current.next;

}
return head;
}
}
P******a
发帖数: 1379
2
直接操作head,那遍历完了head的值变到尾部去了,你拿啥返回?

head

【在 m******g 的大作中提到】
: 为什么要把head赋给current?然后再操作?
: 如果直接在head进行操作 (删掉ListNode current = head 这一行,current改成head
: ),实际返回[2],期待[1,2], 链表是1-1-2
: 但是我想不通啊,第一个node=1 怎么会消失的?
: class Solution {
: public ListNode deleteDuplicates(ListNode head) {
:
: if (head == null) {
: return null;
: }

l*******g
发帖数: 5
3
画个图吧,就明白了

head

【在 m******g 的大作中提到】
: 为什么要把head赋给current?然后再操作?
: 如果直接在head进行操作 (删掉ListNode current = head 这一行,current改成head
: ),实际返回[2],期待[1,2], 链表是1-1-2
: 但是我想不通啊,第一个node=1 怎么会消失的?
: class Solution {
: public ListNode deleteDuplicates(ListNode head) {
:
: if (head == null) {
: return null;
: }

J**9
发帖数: 835
4
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if (!head||!head->next) return head;
ListNode *prev=head, *p=head->next;
while(p) {
if (p->val==prev->val) {
prev->next = p->next;
free(p);
p = prev->next;
} else {
prev=prev->next;
p=p->next;
}
}

return head;
}
};
o****p
发帖数: 9785
5
链表有很多tricks,最好的事在头上先加个dummy header,很多事情就好办了。建议你
去找linked list problems这本小书好好学习一下。

head

【在 m******g 的大作中提到】
: 为什么要把head赋给current?然后再操作?
: 如果直接在head进行操作 (删掉ListNode current = head 这一行,current改成head
: ),实际返回[2],期待[1,2], 链表是1-1-2
: 但是我想不通啊,第一个node=1 怎么会消失的?
: class Solution {
: public ListNode deleteDuplicates(ListNode head) {
:
: if (head == null) {
: return null;
: }

1 (共1页)
进入JobHunting版参与讨论
相关主题
请问大牛们如何提高解决leetcode上面Linkedlist的题的能力?leetcode上的Sort List那道题
再问大牛们leetcode上面Linkedlist的题,Reverse Nodes in k-G[BSSD]回国一趟回来做题很难进入状态了,顺便问下那个Merge k Sorted
弱问:leetcode里Convert Sorted List to Binary Search Treeleetcode Sort List
弱问一个小问题,leetcode 上merge sorted listLeetcode swap Paris 这个怎么改进?
请教一道单链表问题请大牛review一下这个Insertion Sort List的解法
leetcode上的sorted list to BST[ 每日一课] Sort List
leetcode 关于Partition Listleetcode上的populate next node I and II
c/c++ double pointer研究LeetCode:Partition List 哪位帮我看看, 为什么总是TLE
相关话题的讨论汇总
话题: head话题: listnode话题: prev话题: current话题: next