LeetCode_Remove Nth Node From End of List
来源:互联网 发布:java大学简明教程下载 编辑:程序博客网 时间:2024/04/27 18:01
题目:
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
已知:题目还给出了节点的结构,在下面显示。
分析:只需要设置两个指针(Java中没有指针,暂且形象地这么叫),一个left,一个right,使得left和right相距正好为n,那么,只要当right移动到链表末尾的时候,left正好在倒数第n个位置(其实应该移动到倒数第n+1个位置,因为涉及到.next.next的操作),这样就可以使用left.next=left.next.next这个常用的节点删除操作了。
Java解题:
题目已给出的Node结构:
public class ListNode {int val;ListNode next;ListNode(int x) { val = x; }}解题:
public ListNode removeNthFromEnd(ListNode head, int n) { ListNode left = head;ListNode right = head;while(n>0){if(right.next==null)return head.next;right=right.next;n--;}while(right.next!=null){right=right.next;left=left.next;}left.next=left.next.next;return head; }
0 0
- LeetCode_Remove Nth Node From End of List
- Leetcode_remove-nth-node-from-end-of-list(c++ and python version)
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node from End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- HDU 3579 Hello Kiki(中国剩余定理)
- 数据库知识总结---面试笔试
- Android-实现简单照相与摄像
- 20w买来的经验
- ESP8266学习笔记7:保存和读取自定义参数
- LeetCode_Remove Nth Node From End of List
- Badboy自动化测试工具 读取Excel
- java.util.ConcurrentModificationException 解决办法
- Pin instrumentation工具安装问题(command not found)
- android 截屏
- 没有JPEGEncoderOptions的解决方法
- 线性表
- volatile和explicit
- cocos2dx编译android游戏中,我踩过的坑_2