LeetCode 19 Remove Nth Node From End of List
来源:互联网 发布:淘宝宝贝详情图被拉伸 编辑:程序博客网 时间:2024/06/08 15:27
题目:
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.
题意:
给一个链表,去掉从后面数第n个结点,并且返回链表的首结点。
要求:给定的n一定为有效合法的值,并且尽量一步达到要求。
常规思路是先计算链表的长度len,之后计算正序idx = len-n,然后进行删除结点算法,代码如下:
class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { int len = 0; for (ListNode node = head; node != null; len++, node = node.next); int idx = len - n; if (idx == 0) { head = head.next; } else { ListNode node = head; while (idx>1) { node = node.next; idx --; } node.next = node.next.next; } return head; }}网上大佬的思路一般是定义两个结点指针a,b,之后让b先跑n步,之后a和b同步进行,跑到b.next == null时,对a.next进行删除操作,代码如下:
class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode a, b; a = b = head; while (n-- > 0) { b = b.next; } if (b == null) { return head.next; } b = b.next; while (b != null) { a = a.next; b = b.next; } a.next = a.next.next; return head; }}
阅读全文
0 0
- [Leetcode]LeetCode 19:Remove Nth Node From End of List
- Leetcode 19 Remove Nth Node From End of List
- LeetCode 19: Remove Nth Node From End of List
- [Leetcode 19, Easy] Remove Nth Node From End of List
- LeetCode(19) Remove Nth Node From End of List
- [LeetCode 19] Remove Nth Node From End of List Solutions
- leetcode 19 Remove Nth Node From End of List
- Leetcode【19】:Remove Nth Node From End of List
- [leetcode 19] Remove Nth Node From End of List
- [Leetcode] 19 - Remove Nth Node From End of List
- LeetCode | #19 Remove Nth Node From End of List
- leetcode.19----------Remove Nth Node From End of List
- [Leetcode 19, Easy] Remove Nth Node From End of List
- LeetCode 19 Remove Nth Node From End of List
- leetcode-19 Remove Nth Node From End of List
- leetCode #19 Remove Nth Node From End of List
- leetcode 19 Remove Nth Node From End of List
- leetcode 19 Remove Nth Node From End of List
- this和对象原型第一二章
- 获取php获取路径相关方法
- Java数据类型的强制转换
- 哈希表
- 英诺资本布局华南 深圳湾中心盛大开业
- LeetCode 19 Remove Nth Node From End of List
- DigitalOcean 云服务网站 注册账号送10刀的链接
- 基本数据类型
- javascript addEventListener中的e.target和this的区别
- Linux最大打开文件描述符数
- 斐波那契数列迭代器实现方法
- jq学习笔记--Ajax应用与常用插件
- Spring Cloud与微服务学习总结(6)——认证鉴权与API权限控制在微服务架构中的设计与实现(四)
- 数据结构---C语言数据结构3.2.1数制转换