LeetCode アルゴリズム バイナリ ツリー—144. バイナリ ツリーの事前順序トラバーサル

目次

144. バイナリツリーの事前順序走査 - LeetCode

コード:

操作結果: 


例 1:

入力: 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

上級:再帰アルゴリズムは単純ですが、反復アルゴリズムで実行できますか?

コード:

/**
 * 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 {
    List<Integer> List=new ArrayList<>();
    public List<Integer> preorderTraversal(TreeNode root) {
        fun(root);
        return List;
    }
    public void fun(TreeNode root){
        if(root==null) return;
        List.add(root.val);
        fun(root.left);
        fun(root.right);
    }
}

操作結果: 

おすすめ

転載: blog.csdn.net/qq_62799214/article/details/133308622