平時在刷leetcode題目中的鍊錶和樹時,難免會出現除錯不方便的問題。因為習慣了idea中debug來進行錯誤分析,所以本文將實現leetcode刷題中煉表和數在idea中的除錯。
直接上**。
public
static
class
listnode
//leetcode中煉表的定義
}private
static listnode createlinkedlist
(int
arr)
listnode head =
newlistnode
(arr[0]
);listnode current = head;
for(
int i =
1; i < arr.length; i++
)return head;
}private
static
void
printlinkedlist
(listnode head)
system.out.
println
("null");
}public
static
void
main
(string[
] args)
; listnode list =
createlinkedlist
(x);
printlinkedlist
(list1)
;}
列印出來的結果是:
直接上**。
public
static
class
treenode
}public
static treenode constructtree
(integer[
] nums)
for(
int i = startindex; i < startindex + linenodenum; i = i +2)
// 同上,說明已經將nums中的數字用完,此時應停止遍歷,並可以直接返回root
if(i +
1== nums.length)
return root;
if(nums[i +1]
!= null)
} startindex += linenodenum;
restlength -= linenodenum;
linenodenum = nodequeue.
size()
*2;}
return root;
}public
static
void
preorder
(treenode root)
public
static
void
midorder
(treenode root)
public
static
void
aftorder
(treenode root)
public
static
void
main
(string[
] args)
; treenode tree=
constructtree
(nums)
;preorder
(tree)
; system.out.
println()
;midorder
(tree)
; system.out.
println()
;aftorder
(tree)
;}
列印出來的結果是: leetcode 鍊錶 回文鍊錶
請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?head null 空鍊錶,回文,返回true head.next null 只有乙個節點的列表,回文,返回tru...
leetcode 鍊錶 回文鍊錶
請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2輸出 false示例 2 輸入 1 2 2 1輸出 true高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?思路 利用快慢指標找到中間節點,當快指標走到末尾時,慢指標指向中間節點 交中間節點之後的節點進行鍊錶反轉 設定指標p1從h...
分隔鍊錶(鍊錶 LeetCode)
題目鏈結 給你乙個鍊錶和乙個特定值 x 請你對鍊錶進行分隔,使得所有小於 x 的節點都出現在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5維護兩個鍊錶,乙個鍊錶儲存比x小的結點,另乙個鍊錶儲...