144. 二叉树的前序遍历
94. 二叉树的中序遍历
145. 二叉树的后序遍历
题目描述
给定一个二叉树的根节点 root
,返回它的三序遍历
输入输出
1 2 3 4 5 6 7 8 9 10
| 1 \ 2 / 3
输入:root = [1,null,2,3] 前序 输出:[1,2,3] 中序 输出:[1,3,2] 后序 输出:[1,3,2]
|
java实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<Integer>(); preorder(root, result); return result; } void preorder(TreeNode root, List<Integer> res){ if(root == null) return; res.add(root.val); preorder(root.left, res); preorder(root.right, res); } }
class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); inorder(root, res); return res; } void inorder(TreeNode root, List<Integer> res){ if(root == null){ return; } inorder(root.left, res); res.add(root.val); inorder(root.right, res); } }
class Solution { public List<Integer> postorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<Integer>(); postorder(root, res); return res; } void postorder(TreeNode root, List<Integer> res){ if(root == null) return; postorder(root.left, res); postorder(root.right, res); res.add(root.val); } }
|