leetcode:Reverse Linked List II (反转链表中的一部分)【面试算法题】
来源:互联网 发布:mac 删除xlplayer 编辑:程序博客网 时间:2024/05/15 05:48
题目:
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given 1->2->3->4->5->NULL
, m = 2 and n = 4,
return 1->4->3->2->5->NULL
.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
反转链表的操作用三个指针去维护,注意最后一个指针可能是空指针的情况。
考虑反转起始位置和结束位置的next链接,用前置指针begin存反转开始的位置的前一个指针便于操作,当链表是从头开始反转的时候,head指针会发生改变。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *reverseBetween(ListNode *head, int m, int n) { ListNode *begin,*p1,*p2,*p3; int i; begin=head; for(i=1;i<m-1;++i)begin=begin->next; if(m!=1)p1=begin->next; else p1=begin; p2=p1->next; if(p2)p3=p2->next; for(i=0;i<n-m;++i) { p2->next=p1; p1=p2; p2=p3; if(p2)p3=p2->next; } if(m!=1) { begin->next->next=p2; begin->next=p1; } else { begin->next=p2; head=p1; } return head; }};// blog.csdn.net/havenoidea
题解目录
- leetcode:Reverse Linked List II (反转链表中的一部分)【面试算法题】
- 【LeetCode-面试算法经典-Java实现】【092-Reverse Linked List II(反转单链表II)】
- LeetCode-Reverse Linked List II(反转链表)
- Leetcode Reverse Linked List II 反转部分单向链表
- [leetcode] Reverse Linked List II 链表反转
- leetcode 92. Reverse Linked List II 反转链表
- [LeetCode-92] Reverse Linked List II(反转指定区间链表)
- 逆转链表的一部分 Reverse Linked List II
- [LeetCode-206] Reverse Linked List(链表反转)
- LeetCode.206. Reverse Linked List(反转有序链表)
- LeetCode--Reverse Linked List 反转链表(Python)
- leetCode 92.Reverse Linked List II (反转链表II) 解题思路和方法
- 【LeetCode-面试算法经典-Java实现】【206-Reverse Linked List(反转一个单链表)】
- Leetcode Reverse Linked List II 反转特定区间的链表
- LeetCode-92-Reverse Linked List II 链表反转 各种边界条件
- Reverse Linked List(反转链表)
- LeetCode 92 Reverse Linked List II(翻转链表II)(Linked List)(*)
- leetcode206/92---Reverse Linked List I/II(反转链表)
- jquery ajax无刷新翻页 分页
- CC2530设置发射功率
- mysql安装备录
- MySQL基础
- HDU 4055 Number String dp
- leetcode:Reverse Linked List II (反转链表中的一部分)【面试算法题】
- pyCharm 中有用的tip
- la 3667 ruler
- Ogre学习记录
- 文件的基本操作( NSFileManager)
- char转16进制
- 【javascript】根据复选框选中的商品,计算总额 | 根据选择的样式进行变换
- hdu3072 Intelligence System
- 字符串模式匹配KMP算法