删除链表中倒数第n个节点
2017-07-11 08:15
260 查看
给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。
注意事项
链表中的节点个数大于等于n
您在真实的面试中是否遇到过这个题?
Yes
样例
给出链表1->2->3->4->5->null和 n = 2.
删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.
挑战
O(n)时间复杂度
注意事项
链表中的节点个数大于等于n
您在真实的面试中是否遇到过这个题?
Yes
样例
给出链表1->2->3->4->5->null和 n = 2.
删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.
挑战
O(n)时间复杂度
ListNode removeNthFromEnd(ListNode head, int n) { if (head == null) return head; ListNode head1 = head, p = null, pre = null; int cnt = 0; p = head; while (p != null) { cnt++; p = p.next; } int delN = cnt - n; cnt = 0; p = head; while (p != null && cnt < delN) { cnt++; pre = p; p = p.next; } if (pre == null) { head1 = p.next; } else { pre.next = p.next; } return head1; }
相关文章推荐
- Java - 删除链表中倒数第n个节点
- Java实现-删除链表中倒数第n个节点
- LeetCode算法练习(删除链表的倒数第N个节点)
- 删除链表中倒数第n个节点
- LintCode 删除链表中倒数第n个节点
- 删除链表中倒数第N个节点
- 删除链表中倒数第n个节点
- [LeetCode-19] Remove Nth Node From End of List(删除链表中倒数第N个节点)
- 删除链表中倒数第n个节点
- python---删除链表中倒数第n个节点
- 每天一道LeetCode-----删除链表倒数第n个节点
- LintCode-删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 链表遍历一次删除倒数第N个节点
- leetcode19--删除链表中倒数第n个节点
- 【面试题】删除链表中倒数第n个节点
- LeetCode(Remove Nth Node From End of List)删除链表倒数第n个节点
- LintCode- 删除链表中倒数第n个节点
- 【LeetCode】Remove Nth Node From End of List 删除链表中倒数第n个节点- Easy +