力扣簡144 二叉樹的前序遍歷++
阿新 • • 發佈:2022-05-26
樹 前序遍歷 遞迴呼叫 迭代(沒寫)
package leetcode01; import java.util.LinkedList; import java.util.List; public class Solution144 { public static List<Integer> preorderTraversal(TreeNode root) { List<Integer> res=new LinkedList<Integer>(); res=preorder(root, res);return res; } public static List<Integer> preorder(TreeNode root,List<Integer> res) { if(root!=null) {//這裡最開始寫的while,導致在遞迴第一個root.left不斷的把left的val值add進去,應該是if。 res.add(root.val); if(root.left!=null) { preorder(root.left,res); }if(root.right!=null) { preorder(root.right,res); } } return res; } public static void main(String[] args) { // TODO Auto-generated method stub TreeNode p=new TreeNode(12,new TreeNode(),new TreeNode(-60,null,null)); System.out.print(preorderTraversal(p)); } }