package com.example.demo;
import java.util.ArrayList;
import java.util.List;
/**
* 145. 二叉树的后序遍历
* 给定一个二叉树,返回它的 后序 遍历。
* <p>
* 示例:
* <p>
* 输入: [1,null,2,3]
* 1
*
* 2
* /
* 3
* <p>
* 输出: [3,2,1]
*/
public class Lc145 {
//递归
static List<Integer> list = new ArrayList<>();
public static List<Integer> postorderTraversal(TreeNode root) {
if (root != null) {
postorderTraversal(root.left);
postorderTraversal(root.right);
list.add(root.val);
}
return list;
}
public static void main(String[] args) {
Integer[] arr = new Integer[]{1, 2, 3, 4, 5,6,7};
TreeNode root = CreateNode.createTree(arr).get(0);
List<Integer> list = postorderTraversal(root);
list.forEach(n -> System.out.println(n));
}
}