最近面试一些大公司,考的比较多的我就记录下来,给大家分享一下。
1、先定义二叉树的节点
public class node {
int value;
node left;
node right;
node(int x) {
value = x;
left = null;
right = null;
}
}
2、对二叉树进行初始化
定义头节点node_1
public static void main(String[] args) {
// TODO Auto-generated method stub
{
node node_1 = new node(8);
node node_2 = new node(3);
node node_3 = new node(1);
node node_4 = new node(6);
node node_5 = new node(4);
node node_6 = new node(7);
node node_7 = new node(10);
node node_8 = new node(14);
node node_9 = new node(13);
node_4.left = node_5;
node_4.right = node_6;
node_2.left = node_3;
node_2.right = node_4;
node_1.left = node_2;
node_1.right = node_7;
node_8.left = node_9;
node_7.right = node_8;
Print(node_1);
}
}
为了方便大家理解,数据初始化后的数据如图所示:
3、中序遍历二叉树 打印出各个节点的value
private static void Print(node node) {
// TODO Auto-generated method stub
if (node.left != null) {
Print(node.left);
}
if (node != null)
System.out.println(node.value);
if (node.right != null) {
Print(node.right);
}
}
4、输出结果:
1
3
4
6
7
8
10
13
14