程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> leetcode_92_Reverse Linked List II

leetcode_92_Reverse Linked List II

編輯:C++入門知識

leetcode_92_Reverse Linked List II


描述:

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.

思路:

這種題目,舉個例子能讓思路更加清晰,通過在草紙上演算可知,題目要分兩種情況,m==1和m>1的情況,然後就是圍繞這兩種情況展開討論,刪除後面的結點,然後將後面的結點添加到前面,一次搞定,bravo!

代碼:

public ListNode reverseBetween(ListNode head, int m, int n) {
		if (head==null) {
			return null;
		}
        ListNode p =head,q=head,temp=null;
        int i=0;
        for(i=0;i

結果:


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved