题解 | #删除链表的倒数第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;
    }
}
全部评论

相关推荐

投递长鑫存储等公司7个岗位
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 golang
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 11:16
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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