No.1
题目
思路
- 递归法
代码
public void Traverse(TreeNode node, List<Integer> list) {
if (node == null)
return;
list.add(node.val); // 中
Traverse(node.left, list); // 左
Traverse(node.right, list); // 右
}
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<>();
Traverse(root, result);
return result;
}
No.2
题目
思路
- 递归法
代码
public void Traverse(TreeNode node, List<Integer> list) {
if (node == null)
return;
Traverse(node.left, list); // 左
list.add(node.val); // 中
Traverse(node.right, list); // 右
}
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<>();
Traverse(root, result);
return result;
}
No.3
题目
思路
- 递归法
代码
public void Traverse(TreeNode node, List<Integer> list) {
if (node == null)
return;
Traverse(node.left, list); // 左
Traverse(node.right, list); // 右
list.add(node.val); // 中
}
public List<Integer> postorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<>();
Traverse(root, result);
return result;
}