94BinaryTreeInorderTraversal
649 ワード
テーマ:1本の木にあげて、反復の方法を使ってその木の中序の遍歴のシーケンスを出力して、left-root-right
考え方:stack
考え方:stack
public List inorderTraversal(TreeNode root) {
ArrayList res = new ArrayList();
Stack st = new Stack();
TreeNode trNode = root, top; //reference
if(root == null) return res;
else st.push(root);
trNode = root.left;
while(!st.isEmpty() || trNode != null){
while(trNode != null){
st.push(trNode);
trNode = trNode.left;
}
top = st.pop();
res.add(top.val);
trNode = top.right;
}
return res;
}