题解 | #删除链表的倒数第n个节点# [P3]

删除链表的倒数第n个节点

http://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6

JAVA 用双指针找倒数第n-1个节点
既然是删改链表,想都不想先把sentinal(stn)加到链表前方,这样边界问题处理轻松很多。

public class Solution {
    /**
     * 
     * @param head ListNode类 
     * @param n int整型 
     * @return ListNode类
     */
    public ListNode removeNthFromEnd (ListNode head, int n) {
      ListNode stn = new ListNode(0);
      stn.next = head;
      ListNode f = stn, s = stn;
      while(n > 0) {
        f = f.next;
        n--;
      }
      
      while (f.next != null) {
        f = f.next;
        s = s.next;
      }
      s.next = s.next.next;
      return stn.next;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:25
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-29 20:12
点赞 评论 收藏
分享
点赞 评论 收藏
分享
昨天 11:33
江南大学 Java
已经在暑假实习了 ,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务