package com.mxnet;
import java.util.ArrayList;
import java.util.List;
public class Solution145 {
public static void main(String[] args) {
}
/**
* 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。
* @param root
* @return
* 思路:
* 1. 后续遍历先遍历左子树,再遍历右子树,最后遍历根节点
* 2. 使用递归的思路
*
*/
ArrayList<Integer> res = new ArrayList<>();
public List<Integer> postorderTraversal(TreeNode root) {
//判断节点是否为空
if (root == null){
return new ArrayList<>();
}
//递归遍历左子树
if (root.left != null){
postorderTraversal(root.left);
}
//递归遍历右子树
if (root.right != null){
postorderTraversal(root.right);
}
//将根节点值保存到list中
if (root != null){
res.add(root.val);
}
return res;
}
}