算法第十一周作业01

来源:互联网 发布:led电子屏编辑软件 编辑:程序博客网 时间:2024/06/07 07:04

Description

Given a binary tree, return the postorder traversal of its nodes’ values.

For example:
Given binary tree {1,#,2,3},
 1
  \
   2
  /
 3
return [3,2,1]

Solution

  • 先遍历左子树,后遍历右子树,最后是自身节点
  • 按照遍历的顺序将结果添加到List中
  • 递归边界:当前节点为null;操作:创建空的链表List

Code

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */import java.util.*;public class Solution {    public List<Integer> postorderTraversal(TreeNode root) {        if(root != null){            List<Integer> left = postorderTraversal(root.left);            List<Integer> righ = postorderTraversal(root.right);            left.addAll(righ);            left.add(root.val);            return left;        } else {            return new LinkedList<Integer>();        }    }}
0 0