题意: 给定一棵二叉树,中序输出结果
分析: 本题考察递归中序遍历二叉树,比较基础,直接贴代码。
public ArrayList<Integer> inorderTraversal(TreeNode root) {
if(root == null){return list;}
else{
if(root.left != null) inorderTraversal(root.left);
list.add(root.val);
if(root.right != null) inorderTraversal(root.right);
return list;
}
}
题意: 给定一棵二叉树,前序输出结果
分析: 首先还是要了解前序、中序遍历的概念,前序、中序都是指父亲节点相对于孩子节点的顺序,前序是早于左右孩子,中序是先左孩子再父亲节点最后右孩子。
public ArrayList<Integer> preorderTraversal(TreeNode root) {
if(root == null){
return list;
}else{
list.add(root.val);
if(root.left != null){
preorderTraversal(root.left);
}
if(root.right != null){
preorderTraversal(root.right);
}
return list;
}
}