C#實現將網址生成二維碼圖片
阿新 • • 發佈:2021-06-10
給你一個二叉樹,請你返回其按 層序遍歷 得到的節點值。 (即逐層地,從左到右訪問所有節點)。
示例:
二叉樹:[3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其層序遍歷結果:
[
[3],
[9,20],
[15,7]
]
解法一:寬度優先搜尋(佇列)
java:
public List<List<Integer>> levelOrder(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<TreeNode>();
List<List<Integer>> wrapList = new LinkedList<List<Integer>>();
if(root == null) return wrapList;
queue.offer(root);
while(!queue.isEmpty()){
int levelNum = queue.size();
List<Integer> subList = new LinkedList<Integer>();
for(int i=0; i<levelNum; i++) {
if(queue.peek().left != null) queue.offer(queue.peek().left);
if(queue.peek().right != null) queue.offer(queue.peek().right);
subList.add(queue.poll().val);
}
wrapList.add(subList);
}
return wrapList;
}
時間複雜度:O(n)
空間複雜度:O(n)
解法二:深度優先搜尋
總結:國際站大神確實挺多,這個人的命名給了我很多啟發,好的命名區確實讓人心曠神怡。