给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
1.1递归调用1
public ListpreorderTraversal(TreeNode root) { List res = new ArrayList (); accessTree(root,res); return res; } public void accessTree(TreeNode root , List res){ if(root == null){ return ; } res.add(root.val); accessTree(root.left,res); accessTree(root.right,res); }
1.2使用栈
public ListpreorderTraversal(TreeNode root) { List res = new ArrayList (); Deque stack = new LinkedList (); while(root != null || !stack.isEmpty()){ while(root != null){ res.add(root.val); stack.push(root); root = root.left; } root = stack.pop(); root = root.right; } return res; }



