leetcode: Remove Nth Node From End of List
2014-03-07 23:02
531 查看
设计链表的问题(循环,删除)之类的,都是设一个快指针,一个慢指针
快指针比慢指针快n步,注意考虑(1,2) 1和(1,2) 2的边界情况
public class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode pFast=head;
ListNode pSlow=head;
ListNode tmp=null;
int diff=0,isMove=0;
while(pFast.next!=null)
{
pFast=pFast.next;
diff++;
if(diff==n)
isMove=1;
if(diff>n)
pSlow=pSlow.next;
}
if(isMove==0)
{
head=head.next;
return head;
}
else
{
tmp=pSlow.next;
pSlow.next=tmp.next;
}
return head;
}
}
快指针比慢指针快n步,注意考虑(1,2) 1和(1,2) 2的边界情况
public class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode pFast=head;
ListNode pSlow=head;
ListNode tmp=null;
int diff=0,isMove=0;
while(pFast.next!=null)
{
pFast=pFast.next;
diff++;
if(diff==n)
isMove=1;
if(diff>n)
pSlow=pSlow.next;
}
if(isMove==0)
{
head=head.next;
return head;
}
else
{
tmp=pSlow.next;
pSlow.next=tmp.next;
}
return head;
}
}
相关文章推荐
- leetcode(19). Remove Nth Node From End of List
- Leetcode: Remove Nth Node From End of List
- LeetCode 19 Remove Nth Node From End of List
- 【LeetCode】Remove Nth Node From End of List
- leetcode Remove Nth Node From End of List java编程学习(七)
- 【LeetCode】Remove Nth Node From End of List
- LeetCode刷题笔录Remove Nth Node from End of List
- leetcode 19. Remove Nth Node From End of List
- leetcode 3. 移除链表的倒数第n个节点 Remove Nth Node From End of List
- LeetCode 19. Remove Nth Node From End of List
- [LeetCode]Remove Nth Node From End of List
- leetcode: Remove Nth Node From End of List
- leetcode 19. Remove Nth Node From End of List
- [leetcode] Remove Nth Node From End of List
- LeetCode-19. Remove Nth Node From End of List
- Leetcode Remove Nth Node From End of List
- leetcode Remove Nth Node From End of List
- leetcode - Remove Nth Node From End of List
- leetcode--19 Remove Nth Node From End of List
- leetcode 19 Remove Nth Node From End of List