二叉树
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x; }
}
public class pre {
List<Integer> treeList=new ArrayList();
public static void main(String[] args) {
}
public void preTraversal(TreeNode root) {
if(root==null) return;
treeList.add(root.val);
if(root.left!=null){
preTraversal(root.left);
}
if(root.right!=null){
preTraversal(root.right);
}
}
public void preTraversal2(TreeNode root) {
Stack<TreeNode> st=new Stack<>();
TreeNode p=root;
while (p!=null || st!=null){
if(p!=null){
treeList.add(p.val);
st.push(p);
p=p.left;
}
if(p==null){
p=st.pop().right;
}
}
public void inorderTraversal(TreeNode root) {
if(root==null) return;
if(root.left!=null){
preTraversal(root.left);
}
treeList.add(root.val);
if(root.right!=null){
preTraversal(root.right);
}
}