LeetCode145-二叉树的后序遍历
题目
解法
递归
迭代
class Solution {
public List<Integer> postorderTraversal(TreeNode root) {
List<Integer> res = new LinkedList<>();
if(root==null) return res;
Stack<TreeNode> st = new Stack<>();
TreeNode pre = null;
TreeNode cur = root;
while(cur!=null||!st.isEmpty()){
if(cur!=null){
st.push(cur);
cur = cur.left;
}else{
if(pre == st.peek().right||st.peek().right==null){
pre = st.pop();
res.add(pre.val);
}else{
cur = st.peek().right;
}
}
}
return res;
}
}