中序遍历-二叉树(来源LeetCode)
程序员文章站
2022-03-03 10:29:29
...
给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
2
/
3
输出: [1,3,2]
实现代码:
import java.util.*;
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
} //树节点,包含当前节点的值和左右子树(迭代产生),并包含构造方法对val赋值
public class Solution {
public static List<Integer> inorderTraversal(TreeNode root){
List<Integer> list = new ArrayList<>();
preHeader(root,list);
return list;
}
private static void preHeader(TreeNode root ,List<Integer> list){
if(root == null) return;
preHeader(root.left,list);
list.add(root.val);
preHeader(root.right,list);
}
public static void main(String [] args){
TreeNode a = new TreeNode(1);
TreeNode b = new TreeNode(3);
TreeNode c = new TreeNode(2);
a.right = b;
b.left = c;
List<Integer> list1 = new ArrayList<>();
list1 = inorderTraversal(a);
System.out.println(list1);
}
}
上一篇: 2017沈阳L,Tree,hdu6228
下一篇: 关于浙江大学软件学院的面试经验