Remove Nth Node From End of List
来源:互联网 发布:js数字转换成汉字 编辑:程序博客网 时间:2024/04/30 08:30
题目
Remove Nth Node From End of ListJan 28 '124532 / 11985
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
思路
快慢指针,时间复杂度为O(n) ,只扫描一遍。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *removeNthFromEnd(ListNode *head, int n) { // Start typing your C/C++ solution below // DO NOT write int main() function if(!head) return head; ListNode *cur = head; for(int i=1;i<=n;i++) cur = cur->next; ListNode *pre = head; while(cur && cur->next) { pre = pre->next; cur = cur->next; } if(cur==NULL) { return pre->next; } pre->next = pre->next->next; return head; }};
最新 java
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if(head == null || n < 1){ return head; } ListNode dump = new ListNode(0); dump.next = head; ListNode slow = dump; ListNode fast = head; int i = 1; while(fast != null && i++ < n){ fast = fast.next; } while(fast.next != null){ slow = slow.next; fast = fast.next; } slow.next = slow.next.next; return dump.next; }}
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node from End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Java 7 Fork/Join 框架
- 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义。 .
- C++编程思想 第二章习题2_2
- epoll使用详解(精髓)
- 关于linux动态链接库
- Remove Nth Node From End of List
- 使用NPOI 导入导出Excel的类
- LINK : fatal error LNK1104: cannot open file 'XXX.lib'问题
- Qt Dialog
- CryptEnumProviders之pcbProvName参数
- 点点滴滴 - Nginx的configuration
- 第三方框架和ARC
- Python中的数据模型
- jQuery__Ajax 实例 全解析 ----又又哥