二叉树的特性:
1.树的每个节点最多只能有两个子节点,称为左子树与右子树
2.左子树上所有结点的值均小于或等于它的根结点的值。
3.右子树上所有结点的值均大于或等于它的根结点的值。
4.左、右子树也分别为二叉排序树。
叶子节点的定义:如果一个节点既没有左孩子,也没有右孩子,则该节点为叶子节点。
package com.dasenlin.algorithm;
public class Test {
int val;
Test left;
Test right;
public Test(int val) {
this.val = val;
}
public static void main(String[] args) {
Test test = new Test(9);
test.left=new Test(5);
test.right=new Test(13);
test.left.left=new Test(3);
test.left.right=new Test(8);
test.right.left=new Test(11);
test.right.right=new Test(15);
TestTree tree =new TestTree();
System.out.println("叶子节点个数:"+tree.testTree(test));
}
}
class TestTree{
public int testTree(Test test){
if(test==null){
return 0;
}
if(test.left==null&&test.right==null){
System.out.println("叶子节点:"+test.val);
return 1;
}
return testTree(test.left)+testTree(test.right);
}
}