首页 > 学院 > 开发设计 > 正文

leetcode经典编程题(6)

2019-11-06 09:32:56
字体:
来源:转载
供稿:网友

第(6)题 binary-tree-postorder-traversa 知识点:树 题述: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]. 题意是用后根法遍历二叉树 思路:后根法要求先左子结点,再右子结点,最后再根结点的顺序遍历二叉树。使用递归会很方便。 代码如下:

/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */import java.util.ArrayList;public class Solution { public ArrayList<Integer> postorderTraversal(TreeNode root) { ArrayList<Integer> list = new ArrayList<Integer>(); postorder(root, list); return list; } public void postorder(TreeNode root, ArrayList<Integer> list){ if(root == null){ return; } if(root.left != null){ postorder(root.left, list); } if(root.right != null){ postorder(root.right, list); } list.add(root.val); }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表