1. 程式人生 > 其它 >C#實現將網址生成二維碼圖片

C#實現將網址生成二維碼圖片

給你一個二叉樹,請你返回其按 層序遍歷 得到的節點值。 (即逐層地,從左到右訪問所有節點)。

示例:
二叉樹:[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)

解法二:深度優先搜尋

總結:國際站大神確實挺多,這個人的命名給了我很多啟發,好的命名區確實讓人心曠神怡。