题目:
实现二叉树的数据结构定义(二叉树存储的为int值)
实现一个算法来计算二叉树t的高度
思路:
- 首先定义一个二叉树的类
- 动态规划的思路,height(n) = max(height(n.left),height(n.right))+1;
代码:
二叉树的定义类
class BinaryTreeNode{
int mValue;
BinaryTreeNode mLeft;;
BinaryTreeNode mRight;
}
解法:
int treeDeep(BinaryTreeNode head){
if(head == null)return 0;
int left = treeDeep(head.mLeft);
int right = treeDeep(head.mRight);
return (left > right) ? (left + 1):(right + 1);
}