博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode: Remove Nth Node From End of List 解题报告
阅读量:6150 次
发布时间:2019-06-21

本文共 1499 字,大约阅读时间需要 4 分钟。

Remove Nth Node From End of List

 
Total Accepted: 46720 Total Submissions: 168596
Question Solution 

 

Given a linked list, remove the nth node from the end of list and return its head.

For example,

Given linked list: 1->2->3->4->5, and n = 2.   After removing the second node from the end, the linked list becomes 1->2->3->5.

Note:

Given n will always be valid.
Try to do this in one pass.

 

Show Tags
 

SOLUTION 1:

1.使用快慢指针,快指针先行移动N步。用慢指针指向要移除的Node的前一个Node.

2. 使用dummy node作为head的前缀节点,这样就算是删除head也能轻松handle啦!

主页君是不是很聪明呀? :)

1 /** 2  * Definition for singly-linked list. 3  * public class ListNode { 4  *     int val; 5  *     ListNode next; 6  *     ListNode(int x) { 7  *         val = x; 8  *         next = null; 9  *     }10  * }11  */12 public class Solution {13     public ListNode removeNthFromEnd(ListNode head, int n) {14         // 001715         ListNode dummy = new ListNode(0);16         dummy.next = head;17         18         ListNode slow = dummy;19         ListNode fast = dummy;20         21         // move fast N more than slow.22         while (n > 0) {23             fast = fast.next;24             // Bug 1: FORGET THE N--;25             n--;26         }27         28         while (fast.next != null) {29             fast = fast.next;30             slow = slow.next;31         }32         33         // Slow is the pre node of the node which we want to delete.34         slow.next = slow.next.next;35         36         return dummy.next;37     }38 }
View Code

 

GITHUB (国内用户可能无法连接):

转载地址:http://dlmya.baihongyu.com/

你可能感兴趣的文章
汉字转拼音 (转)
查看>>
Machine Learning Techniques -6-Support Vector Regression
查看>>
会计基础_001
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
小程序: 查看正在写的页面
查看>>
Jenkins持续集成环境部署
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
User implements HttpSessionBindingListener
查看>>