Ua的gift registry怎么用?# Money - 海外理财
m*c
1 楼
昨天发了一个pure storage的题目,发现用double pointer非常容易做。今天认认真真
研究了一下double pointer,感觉虽然不容易掌握,但是掌握了它就很强大。
做leetcode题目Remove Duplicates from Sorted List II时,正好就用上了,下面是
我用double pointer的实现。
ListNode *deleteDuplicates(ListNode *head) {
ListNode **lpp = &head;
int currValue = INT_MAX;
while (*lpp) {
if ((*lpp)->val == currValue) {
*lpp = (*lpp)->next;
}
else if ((*lpp)->next && (*lpp)->val == (*lpp)->next->val) {
currValue = (*lpp)->val;
*lpp = (*lpp)->next;
}
else
lpp = &(*lpp)->next;
}
return head;
}
上面代码,不满意的地方是多用了一个变量currValue,这个是用来删除每个duplicate
elements中的最后一个。暂时还没有想到可以去掉它的方法。
研究了一下double pointer,感觉虽然不容易掌握,但是掌握了它就很强大。
做leetcode题目Remove Duplicates from Sorted List II时,正好就用上了,下面是
我用double pointer的实现。
ListNode *deleteDuplicates(ListNode *head) {
ListNode **lpp = &head;
int currValue = INT_MAX;
while (*lpp) {
if ((*lpp)->val == currValue) {
*lpp = (*lpp)->next;
}
else if ((*lpp)->next && (*lpp)->val == (*lpp)->next->val) {
currValue = (*lpp)->val;
*lpp = (*lpp)->next;
}
else
lpp = &(*lpp)->next;
}
return head;
}
上面代码,不满意的地方是多用了一个变量currValue,这个是用来删除每个duplicate
elements中的最后一个。暂时还没有想到可以去掉它的方法。