二叉树的后序遍历
题目
给你二叉树的根节点 root ,返回它节点值的前序遍历。
思路:递归
中序:左->右->根
- 对左子树进行中序遍历
- 对右子树进行中序遍历
- 访问根结点
代码
public class LC_145 {
public List<Integer> postorderTraversal(TreeNode root) {//后序遍历:左->右->根
List<Integer> res = new ArrayList<Integer>();
if(root == null) return res;//根节点不能为空
//左
List<Integer> l_list = new ArrayList<Integer>();
l_list = postorderTraversal(root.left);
if(l_list != null) res.addAll(l_list);
//右
List<Integer> r_list = new ArrayList<Integer>();
r_list = postorderTraversal(root.right);
if(r_list != null) res.addAll(r_list);
//根
res.add(root.val);
return res;
}//postorderTraversal
}