博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode--019--删除链表的倒数第N个节点(java)
阅读量:5961 次
发布时间:2019-06-19

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

给定一个链表,删除链表的倒数第 个节点,并且返回链表的头结点。

示例:

给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.

说明:

给定的 n 保证是有效的。

进阶:

你能尝试使用一趟扫描实现吗?

用两个节点fast和slow,先让fast走n步,然后slow和fast一起走,等fast走到最后一个节点时,slow所在位置就是要删除的前一个节点。其他注意的就是抠边界了。

1 /** 2  * Definition for singly-linked list. 3  * public class ListNode { 4  *     int val; 5  *     ListNode next; 6  *     ListNode(int x) { val = x; } 7  * } 8  */ 9 class Solution {10     public ListNode removeNthFromEnd(ListNode head, int n) {11         ListNode fast = head,slow = head;12         13         while(n > 0){14             n--;15             fast = fast.next;16         }17         while(fast!=null && fast.next!=null){18             fast = fast.next;19             slow = slow.next;20         }21         if(fast == null){//fast为空有两种情形1.[1] n = 1   2.[1,2,3,4] n = 4分别对应下面的else 和 if22             if(head != null && head.next!=null){23                 head = head.next;24                 return head;25             }else{26                 head = null;27                 return head;28             }29             30         }31             fast = slow.next;32             slow.next = fast.next;33         return head;34     }35 }

2019-04-17 21:59:17

转载于:https://www.cnblogs.com/NPC-assange/p/10726526.html

你可能感兴趣的文章
Java之品优购部署_day01(2)
查看>>
[20171227]表的FULL_HASH_VALUE值的计算.txt
查看>>
[20190415]关于shared latch(共享栓锁).txt
查看>>
设计读书笔记
查看>>
有关Kali更新问题的解决方法。
查看>>
[摘录]验证视图MAC失败 Validation of ViewState MAC Failed
查看>>
[Python] numpy.random.rand
查看>>
centos时区
查看>>
在澳大利亚为Mini团队实施Scrum2年总结
查看>>
HDU Problem 5395 Gym Class 【拓扑排序+优先队列】
查看>>
ExtJs combobox模糊匹配
查看>>
线程中断、线程让步、线程睡眠、线程合并
查看>>
Codeforces Round #532(Div. 2) A.Roman and Browser
查看>>
bupt summer training for 16 #4 ——数论
查看>>
【leetcode】145. Binary Tree Postorder Traversal
查看>>
[CodeForces - 296D]Greg and Graph(floyd)
查看>>
[译] SwiftUI 官方教程 (九)(完结)
查看>>
NodeJS Docker 打包全面优化:优雅停机、多阶段、上下文目录
查看>>
微信开发准备(四)--nat123内网地址公网映射实现
查看>>
EasyUI Calendar 日历
查看>>