# 二叉树的后序遍历

给定一个二叉树,返回它的 后序 遍历。

示例:

输入: [1,null,2,3]  
   1
    \
     2
    /
   3 

输出: [3,2,1]

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

## template ```java public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } class Solution { public List postorderTraversal(TreeNode root) { List list = new ArrayList<>(); Stack nodeStack = new Stack<>(); TreeNode nodeTemp = root; TreeNode preNode = null; while (nodeTemp != null || !nodeStack.isEmpty()) { while (nodeTemp != null) { nodeStack.push(nodeTemp); nodeTemp = nodeTemp.left; } nodeTemp = nodeStack.peek(); if (nodeTemp.right == null || nodeTemp.right == preNode) { nodeTemp = nodeStack.pop(); list.add(nodeTemp.val); preNode = nodeTemp; nodeTemp = null; } else { nodeTemp = nodeTemp.right; } } return list; } } ``` ## 答案 ```java ``` ## 选项 ### A ```java ``` ### B ```java ``` ### C ```java ```