Leetcode:19. Remove Nth Node From End of List
2.解法二(Dante:Java)
我第一反应想出来的方法,最初有一些边界值没考虑到位,被Leetcode干掉了,然后加了一个头指针就解决了。
大致思路就是有两个指针fast和slow,fast比slow的位置早n个,然后开始循环,当slow指向最后一个元素的时候,slow就找到了该被删除的元素。
public class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode start = new ListNode(0); ListNode slow = start, fast = start; slow.next = head; for(int i=1; i<=n+1; i++) { fast = fast.next; } while(fast != null) { slow = slow.next; fast = fast.next; } slow.next = slow.next.next; return start.next; }}2016-08-10 22:21:19 hzct
作者:dantezhao | 简书 | CSDN | GITHUB 文章推荐:http://dantezhao.com/readme 个人主页:http://dantezhao.com 文章可以转载, 但必须以超链接形式标明文章原始出处和作者信息