天天看點

「教3妹學算法」144. 二叉樹的前序周遊

作者:程式員不脫發2

#頭條創作挑戰賽#

「教3妹學算法」144. 二叉樹的前序周遊

3妹

3妹:2哥2哥,你猜今天我在公共汽車上看到了什麼。

2哥:什麼啊,跟我說說,我這顆八卦好奇心。

3妹:我聽到2個人在讨論他們的工資,一個人說他的多次隻有****, 另一個人說他更慘,工資更少,隻有****。

2哥:這有什麼好稀奇的,我還以為是什麼呢?

3妹:你不知道,我發現人與人的工資差别還是很大的。

2哥:那當然了,每個人的能力不一樣,收入也自然不一樣。 還有,這個社會也隻能相對公平,并非絕對公平。

3妹:哎,什麼時候老闆能給我漲工資啊。

2哥:哈哈哈哈, 來我們先刷刷算法題吧。

「教3妹學算法」144. 二叉樹的前序周遊

講課

題目:

給你二叉樹的根節點 root ,傳回它節點值的 前序 周遊。

示例 1:

「教3妹學算法」144. 二叉樹的前序周遊

image.png

輸入:root = [1,null,2,3]

輸出:[1,2,3]

示例 2:

輸入:root = []

輸出:[]

示例 3:

輸入:root = [1]

輸出:[1]

示例 4:

輸入:root = [1,2]

輸出:[1,2]

示例 5:

輸入:root = [1,null,2]

輸出:[1,2]

提示:

樹中節點數目在範圍 [0, 100] 内

-100 <= Node.val <= 100

java代碼1:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
   public List<Integer> preorderTraversal(TreeNode root) {
            List<Integer> res = new ArrayList<Integer>();
            bianli(root, res);
            return res;
        }
    

    private void bianli(TreeNode root, List<Integer> res) {
        if (root == null) {
            return;
        }
        res.add(root.val);
        bianli(root.left, res);
        bianli(root.right, res);
    }
    }           

繼續閱讀