反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。
說明:1 ≤ m ≤ n ≤ 鍊錶長度。
示例:
輸入: 1->2->3->4->5->null, m = 2, n = 4
輸出: 1->4->3->2->5->null
/**
* definition for singly-linked list.
* public class listnode
* }*/class
solution
for(
int i =
0; i < m; i++
) list
listnodes =
newarraylist
<
>()
; listnode m1 = m;
while
(m != n)
listnodes.
add(n.val)
;int len_listnodes = listnodes.
size()
;for
(int i =
0; i < len_listnodes/
2; i++
)int i =0;
while
(m1 != n)
n.val = listnodes.
get(len_listnodes-1)
;return head;
}}
檢視大佬的**,他們將乙個節點看作乙個棧的結構,充分利用了棧的思想
// others
public listnode reversebetween
(listnode head,
int m,
int n)
int cnt =1;
listnode pre = null;
listnode cur;
listnode tail;
if(m ==1)
tail.next = cur;
return pre;
}else
cur = cutnode.next;
tail = cutnode.next;
while
(cnt < n && cur != null)
cutnode.next = pre;
tail.next = cur;
return head;
}}
leetcode 92反轉鍊錶
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null definition for singly linked list.public class listnode class...
LeetCode 92 反轉鍊錶 II
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null 5ms definition for singly linked list.public class listnode c...
leetcode92 反轉鍊錶 II
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4輸出 1 4 3 2 5 null思路 先往後遍歷找到需要反轉的節點作為起點 count m 然後按照劍指offer 反轉鍊錶 的思路,設定curr,pre,p...