import java.util.Stack;
public class BinaryTree {
public static void main(String[] args) {
TreeNode root = new TreeNode(1);
TreeNode n1 = new TreeNode(2);
TreeNode n2 = new TreeNode(3);
TreeNode n3 = new TreeNode(4);
TreeNode n4 = new TreeNode(5);
TreeNode n5 = new TreeNode(6);
TreeNode n6 = new TreeNode(7);
root.left = n1;
root.right = n2;
n1.right = n3;
n2.left = n4;
n2.right = n5;
n4.left = n6;
//middleOrderTraverse(root);
inOrderTraverse(root);
//System.out.println(“递归前序遍历结果:” + rs);
// rs = preorderTraversal2(root);
// System.out.println(“非递归前序遍历结果:” + rs);
}
public static void preOrderTraverse1(TreeNode root) {
if (root != null) {
System.out.print(root.val + “->”);
preOrderTraverse1(root.left);
preOrderTraverse1(root.right);
}
}
public static void middleOrderTraverse(TreeNode root) {
if (root != null) {
preOrderTraverse1(root.left);
System.out.println(root.val);
preOrderTraverse1(root.right);
}
}
public static void afterOrderTraverse(TreeNode root){
if(root!=null){
preOrderTraverse1(root.left);
preOrderTraverse1(root.right);
System.out.println(root.val + "->");
}
}
public static void inOrderTraverse(TreeNode root) {
Stack<TreeNode> stack = new Stack<>();
TreeNode node = root;
while (node != null || !stack.isEmpty()) {
if (node != null) {
stack.push(node);
node = node.left;
} else {
TreeNode tem = stack.pop();
System.out.print(tem.val + "->");
node = tem.right;
}
}
}
902

被折叠的 条评论
为什么被折叠?



