Leetcode: Remove Nth Node From End of List

题目

删掉链表倒数第n 个节点

思路

设置两个指针, cur1, cur2. 让cur2 先走n步, 然后cur1, cur2再同时往下走, 知道cur2达到链表末尾

总结

  1. 考虑边界情况, 当删除的是头结点时, cur2应该会越界, 通过判断cur2的位置返回head->next
  2. 第一次提交时判断条件都设为了if(cur2) or if(!cur), 忘了c++中NULL和false是不一样的
  3. cur1->next = cur1->next->next

BTW

大二上数据结构的时候老师就讲过这么一道题, 说是研究生入学考试的的一道题, 而能够完美做出来的人却很少. 这道题印象很深, 并且当初老师都不确定cur1->next = cur1->next->next 能否这么用.

大二时, 真是什么都不懂呢, 毕竟18岁

posted @ 2013-11-17 20:36  SangS  阅读(207)  评论(0编辑  收藏  举报