92.leetcode Reverse Linked List II(medium)[链表逆序]
来源:互联网 发布:sai绘画软件下载 编辑:程序博客网 时间:2024/05/16 10:30
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.
首先找到需要翻转的部分链表放入stack里面,然后将stack里面的部分和外面未改动的部分连接起来,注意由于有可能翻转第一个节点,所以最好新生成一个头结点来连接。
ListNode* reverseBetween(ListNode* head, int m, int n) { if(head == NULL) return head; //采用stack链表翻转的思想 ListNode* p = head; int count = 1; ListNode* bef = new ListNode(-1); ListNode* temp = bef; ListNode* aft = NULL; stack<ListNode*> reverse; while(p!= NULL) { cout<<count<<endl; cout<<"fd:"<<p->val<<endl; if(count <m) { bef->next = p; bef = bef->next; } else if(count>=m &&count<=n) { //cout<<"f"<<endl; reverse.push(p); } else if(count>n) { aft = p; break; } p = p->next; ++count; } while(!reverse.empty()) { bef->next = reverse.top(); bef = bef->next; reverse.pop(); } bef->next = aft; printList(temp->next); return temp->next; }
0 0
- 92.leetcode Reverse Linked List II(medium)[链表逆序]
- [Leetcode 92, medium] Reverse Linked-list II
- Leetcode 92. Reverse Linked List II (Medium) (cpp)
- 92. Reverse Linked List II(链表局部逆序**)
- leetcode——Reverse Linked List II 选择链表中部分节点逆序(AC)
- LeetCode 92. Reverse Linked List II(翻转链表)
- leetcode 92. Reverse Linked List II 反转链表
- [LeetCode]206. Reverse Linked List&92. Reverse Linked List II
- LeetCode 206. Reverse Linked List && 92. Reverse Linked List II
- 92. Reverse Linked List II leetcode list
- LeetCode OJ 之 Reverse Linked List (链表逆序)
- [LeetCode]92.Reverse Linked List II
- LeetCode 92. Reverse Linked List II
- [Leetcode] 92. Reverse Linked List II
- LeetCode --- 92. Reverse Linked List II
- [leetcode] 92.Reverse Linked List II
- [leetcode] 92. Reverse Linked List II
- 92. Reverse Linked List II LeetCode
- 【Java并发编程】之四:守护线程与线程阻塞的四种情况 (r)
- tableView的Cell调整imageView的大小
- C#基础知识(九)队列、栈、链表
- c语言strcpy和memcpy
- java中数组与容器的区别
- 92.leetcode Reverse Linked List II(medium)[链表逆序]
- 传智播客推出少儿教育品牌-酷丁鱼
- 【Java并发编程】之五:volatile变量修饰符—意料之外的问题(含代码)(r)
- TRANSFORM_TEX
- LeetCode | Largest Rectangle in Histogram
- C++ 非托管COM在C#下调用的问题
- 数据仓库的模型设计
- pull 解析xml
- 隐藏Linux命令行历史