This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package bst; | |
import static java.lang.Math.max; | |
/** | |
* Created by panded4 | |
*/ | |
public class HeightBST { | |
int leftH = 0, rightH = 0; | |
private TreeNode head; | |
public HeightBST() { | |
this.head = createTree(); | |
} | |
public static void main(String[] args) { | |
HeightBST heightBST = new HeightBST(); | |
System.out.println(heightBST.calculateHeight(heightBST.head)); | |
} | |
private TreeNode createTree() { | |
TreeNode n1 = new TreeNode(1); | |
TreeNode n2 = new TreeNode(2); | |
TreeNode n3 = new TreeNode(3); | |
TreeNode n4 = new TreeNode(4); | |
TreeNode n5 = new TreeNode(5); | |
TreeNode n6 = new TreeNode(6); | |
TreeNode n7 = new TreeNode(7); | |
TreeNode n8 = new TreeNode(8); | |
TreeNode n9 = new TreeNode(9); | |
n1.left = n2; | |
n1.right = n3; | |
n2.left = n4; | |
n2.right = n5; | |
n3.left = n6; | |
n3.right = n7; | |
n4.left = n8; | |
n4.right = n9; | |
return n1; | |
} | |
int calculateHeight(TreeNode head) { | |
if (head == null) { | |
return 0; | |
} | |
leftH = calculateHeight(head.left); | |
rightH = calculateHeight(head.right); | |
return 1 + max(leftH, rightH); | |
} | |
} |
No comments:
Post a Comment