Number of leaf nodes - Java
public class NumberOfLeafNodes {
public static int getLeavesCount(TreeNode root){
if(root == null){
return 0;
}
if(root.getLeft() == null && root.getRight() == null)
return 1;
else
return getLeavesCount(root.getLeft()) + getLeavesCount(root.getRight());
}
public static void main(String[] args) {
TreeNode t1 = new TreeNode();
TreeNode t2 = new TreeNode();
TreeNode t3 = new TreeNode();
TreeNode t4 = new TreeNode();
TreeNode t5 = new TreeNode();
TreeNode t6 = new TreeNode();
t3.setLeft(t2).setRight(t4).setValue(3);
t2.setLeft(t1).setRight(null).setValue(2);
t1.setLeft(null).setRight(null).setValue(1);
t4.setLeft(null).setRight(t5).setValue(4);
t5.setLeft(null).setRight(t6).setValue(5);
t6.setLeft(null).setRight(null).setValue(6);
System.out.println(getLeavesCount(t3));
}
}
public class TreeNode {
private TreeNode left;
private TreeNode right;
private Object value;
public TreeNode getLeft() {
return left;
}
public TreeNode setLeft(TreeNode left) {
this.left = left;
return this;
}
public TreeNode getRight() {
return right;
}
public TreeNode setRight(TreeNode right) {
this.right = right;
return this;
}
public Object getValue() {
return value;
}
public TreeNode setValue(Object value) {
this.value = value;
return this;
}
}
Output: 2
public static int getLeavesCount(TreeNode root){
if(root == null){
return 0;
}
if(root.getLeft() == null && root.getRight() == null)
return 1;
else
return getLeavesCount(root.getLeft()) + getLeavesCount(root.getRight());
}
public static void main(String[] args) {
TreeNode t1 = new TreeNode();
TreeNode t2 = new TreeNode();
TreeNode t3 = new TreeNode();
TreeNode t4 = new TreeNode();
TreeNode t5 = new TreeNode();
TreeNode t6 = new TreeNode();
t3.setLeft(t2).setRight(t4).setValue(3);
t2.setLeft(t1).setRight(null).setValue(2);
t1.setLeft(null).setRight(null).setValue(1);
t4.setLeft(null).setRight(t5).setValue(4);
t5.setLeft(null).setRight(t6).setValue(5);
t6.setLeft(null).setRight(null).setValue(6);
System.out.println(getLeavesCount(t3));
}
}
public class TreeNode {
private TreeNode left;
private TreeNode right;
private Object value;
public TreeNode getLeft() {
return left;
}
public TreeNode setLeft(TreeNode left) {
this.left = left;
return this;
}
public TreeNode getRight() {
return right;
}
public TreeNode setRight(TreeNode right) {
this.right = right;
return this;
}
public Object getValue() {
return value;
}
public TreeNode setValue(Object value) {
this.value = value;
return this;
}
}
Output: 2
Comments
Post a Comment