タイトル:
それを返すために先行順走査でバイナリツリーを考えます。
例:
入力:[1、NULL、2,3]
。1
2
/
3
出力:[1,2,3]
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> list= new ArrayList<>();
Stack<TreeNode> stack = new Stack<>();
if(root==null)
return list;
stack.push(root);
while(!stack.isEmpty()){
TreeNode temp = stack.pop();
list.add(temp.val);
if(temp.right!=null)
stack.push(temp.right);
if(temp.left!=null)
stack.push(temp.left);
}
return list;
}