Remove Nth Node From End of List(easy)
来源:互联网 发布:ecshop 数据库字典 编辑:程序博客网 时间:2024/06/06 07:36
【题目】
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.【题意】
删除链表的倒数第n个元素
【分析】
设置两个指针first跟second。first指针先移动n步,若此时first指针为空,则表示要删除的是头节点,此时直接返回head->next即可。如果first指针不为空,则将两个指针一起移动,直到first指针指向最后一个节点,令second->next=second->next->next即可删除第你n个节点。
【实现】
public ListNode removeNthFromEnd(ListNode head, int n) { if(head == null) return null; ListNode fast = head; ListNode slow = head; for(int i=0; i<n; i++){ fast = fast.next; } //if remove the first node if(fast == null){ head = head.next; return head; } while(fast.next != null){ fast = fast.next; slow = slow.next; } slow.next = slow.next.next; return head;}
c++
ListNode *removeNthFromEnd(ListNode *head, int n) { if(head == NULL || head->next == NULL) return NULL; ListNode * first = head; ListNode * second = head; for(int i = 0;i < n;i++) first = first->next; if(first == NULL) return head->next; while(first->next != NULL) { first = first->next; second = second->next; } second->next = second->next->next; return head; }
0 0
- Remove Nth Node From End of List(easy)
- [Leetcode 19, Easy] Remove Nth Node From End of List
- Leetcode[Easy] - Remove Nth Node From End of List
- [Leetcode 19, Easy] Remove Nth Node From End of List
- <LeetCode><Easy> 19 Remove Nth Node From End of List
- 19. Remove Nth Node From End of List [easy] (Python)
- 19. Remove Nth Node From End of List (Easy)
- 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
- hd2043 密码
- Android studio调试
- Ubuntu14下制作绿色版MariaDB_20160601_七侠镇莫尛貝
- 【OpenCV_10】 创建滑动条Trackbar & 图像对比度、亮度值调整
- 读老罗android总结
- Remove Nth Node From End of List(easy)
- ListView局部更新
- 数据结构 - 栈和队列的基本运算实现
- qt ,使用tcp/ip协议网络传输数据时,字节序转换方法
- LambdaMART简介——基于Ranklib源码(一 lambda计算)
- 欢迎使用CSDN-markdown编辑器
- mysql安装及root密码初始化
- 解决CentOS 下adb no permissions - devices没权限的问题
- Android开发-事件分发机制实验分析ViewGroup、View事件分发,结合职责链模式