19. Remove Nth Node From End of List
2018-01-21 15:24
357 查看
19. Remove Nth Node From End of List
题目
Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5. Note: Given n will always be valid. Try to do this in one pass.
解析
两种思路思路一:第一遍遍历得到链表的长度,第二遍走cnt-n步,注意边界条件
思路二:两个指针,第一个先走n-1步,然后两个指针一起走
// 19. Remove Nth Node From End of List class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* cur = head; if (head==NULL) { return NULL; } int cnt = 0; while (cur!=NULL) { cnt++; cur = cur->next; } cur = head; int pos = cnt - n+1; if (pos==1) { return cur->next; } pos = pos - 2; while (pos) { cur = cur->next; pos--; } ListNode* dete = cur->next; if (dete->next) { cur->next = cur->next->next; } else { cur->next = NULL; } //delete dete; return head; } };
题目来源
19. Remove Nth Node From End of List相关文章推荐
- [LeetCode]19. Remove Nth Node From End of List
- 19. Remove Nth Node From End of List
- leetcode--19. Remove Nth Node From End of List
- 19.Remove Nth Node From End of List(List; Two-Pointers)
- leetcode 19: Remove Nth Node From End of List
- python实现 LeetCode19——Remove Nth Node From End of List
- leetcode-19. Remove Nth Node From End of List(删除链表倒数第N个节点)
- 19. Remove Nth Node From End of List
- leetcode --19. Remove Nth Node From End of List
- 19. Remove Nth Node From End of List
- [Leetcode]#19 Remove Nth Node From End of List
- 19. Remove Nth Node From End of List leetcode java
- leetcode: (19) Remove Nth Node From End of List
- leetcode 19. Remove Nth Node From End of List-移除链表元素|双指针
- 19.Remove Nth Node From End of List
- Leetcode 19. Remove Nth Node From End of List
- 19. Remove Nth Node From End of List
- LeetCode 17.Letter Combinations of a Phone Number & 19.Remove Nth Node From End of List
- 【小熊刷题】Remove Nth Node From End of List <Leetcode 19, Java>
- 19. Remove Nth Node From End of List