題目描述:
給定乙個鍊錶和乙個特定值 x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。
你應當保留兩個分割槽中每個節點的初始相對位置。
示例:輸入: head = 1->4->3->2->5->2, x = 3
輸出: 1->2->2->4->3->5
第一種解法:新建節點,判斷後根據位置來進行
class solution else
head = head.next;
} last = last.next;
while (last != null)
return pre.next;
}}
第二種解法,根據值直接連線,這樣空間複雜度極大降低
**:需要注意的是每次都需要將.next置為null,防止next出現迴圈的情況導致記憶體溢位
class solution else
} tempre.next = last.next;
return pre.next;
}}
86 分隔鍊錶
給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3輸出 1 2 2 4 3 5 definition for singly linked list.st...
86 分隔鍊錶
給定乙個鍊錶和乙個特定值 x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 方法 遍曆法 思路 定義兩個新鍊錶,head鍊錶逐個開頭遍歷,大於等...
725 分隔鍊錶
1.求出鍊錶的長度len 2.len k求出平均每段鍊錶的長度,len k求出多出平均長度的個數 3.把每段鍊錶的頭指標存入結果陣列 definition for singly linked list.struct listnode class solution int mod len k int ...