[leetcode] 19. Remove Nth Node From End of List (Medium)

原题链接

删除单向链表的倒数第n个结点。

思路:
用两个索引一前一后,同时遍历,当后一个索引值为null时,此时前一个索引表示的节点即为要删除的节点。
Runtime: 13 ms, faster than 24.49% of Java

class Solution {
	public ListNode removeNthFromEnd(ListNode head, int n) {
		ListNode slow=head;
		ListNode fast=head;
		for(int i=0;i<n;i++)
			fast=fast.next;
		if (fast==null){
			return head.next;
		}
		while(fast.next!=null)
		{
			slow=slow.next;
			fast=fast.next;
		}
		slow.next=slow.next.next;
		return head;
	}
}
posted @ 2018-11-13 15:32  Ruohua3kou  阅读(89)  评论(0编辑  收藏  举报