原题: https://leetcode-cn.com/problems/binary-tree-postorder-traversal/
一、题目要求
给定一个二叉树,返回它的 后序 遍历。
示例:
输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]
二、解题
package com.leetcode.test.tree;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
public class Solution6 {
public static void main(String[] args) {
TreeNode a1 = new TreeNode(1);
TreeNode a2 = new TreeNode(2);
TreeNode a3 = new TreeNode(3);
a1.right = a2;
a2.left = a3;
System.out.println(postorderTraversal(a1));
}
public static List<Integer> postorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList();
postorder(root, list);
return list;
}
public static void postorder(TreeNode root, List<Integer> list){
if (root == null) {
return;
}
postorder(root.left, list);
postorder(root.right, list);
list.add(root.val);
}
}