public class TreeNode{
public int value;
public TreeNode leftNode;
public TreeNode rightNode;
public TreeNode(int value) {
this.value = value;
}
}
// 用递归的方法进行先序遍历
public static void qinaxuDigui(TreeNode treeNode) {
System.out.print(treeNode.value + " ");
if (treeNode.leftNode != null) {
qinaxuDigui(treeNode.leftNode);
}
if (treeNode.rightNode != null) {
qinaxuDigui(treeNode.rightNode);
}
}
// 用递归的方法进行中序遍历
public static void zhongxuDigui(TreeNode treeNode) {
if (treeNode.leftNode != null) {
zhongxuDigui(treeNode.leftNode);
}
System.out.print(treeNode.value + " ");
if (treeNode.rightNode != null) {
zhongxuDigui(treeNode.rightNode);
}
}
// 用递归的方法进行后序遍历
public static void houxuDigui(TreeNode treeNode) {
if (treeNode.leftNode != null) {
houxuDigui(treeNode.leftNode);
}
if (treeNode.rightNode != null) {
houxuDigui(treeNode.rightNode);
}
System.out.print(treeNode.value + " ");
}
public static void main(String[] args) {
TreeNode node1 = new TreeNode(8);
TreeNode node2 = new TreeNode(6);
TreeNode node3 = new TreeNode(10);
TreeNode node4 = new TreeNode(5);
TreeNode node5 = new TreeNode(7);
TreeNode node6 = new TreeNode(9);
TreeNode node7 = new TreeNode(11);
node1.leftNode = node2;
node1.rightNode = node3;
node2.leftNode = node4;
node2.rightNode = node5;
node3.leftNode = node6;
node3.rightNode = node7;
qinaxuDigui(node1);
System.out.println();
zhongxuDigui(node1);
System.out.println();
houxuDigui(node1);
}
A-二叉树的遍历(递归法)
最新推荐文章于 2023-02-21 11:06:09 发布