二叉树Leecode
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) { this.val = val; }
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
public static void main(String[] args) {
}
}
class Solution {
/**
* 先序遍历
* @param treeNode
* @param res
*/
public static void perTree(TreeNode treeNode,List<Integer> res)
{
if(treeNode == null)
return;
res.add(treeNode.val);
perTree(treeNode.left,res);
perTree(treeNode.right,res);
}
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> res = new ArrayList<>();
perTree(root,res);
return res;
}
/**
* 中序遍历
* @param treeNode
* @param res
*/
public static void midTree(TreeNode treeNode,List<Integer> res)
{
if(treeNode == null)
{
return;
}
midTree(treeNode.left,res);
res.add(treeNode.val);
midTree(treeNode.right,res);
}
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> res = new ArrayList<>();
midTree(root,res);
return
