找樹的高度
這題是圖上給你指定的點,讓你找出最遠的那個node離你多遠,用Traversal找,每次找到null前就持續+1,到null後跟目前的maximum比較。
但是題目指定是二元樹,二元樹的高度性質...好像只有完全二元樹之類的才有。
class Solution {
public:
int maxDepth(TreeNode* root) {
return inorder(root);
}
int inorder(TreeNode* curr_node) {
if (!curr_node) {
return 0;
}
return max(inorder(curr_node->left), inorder(curr_node->right)) + 1;
}
};
雖然我一開始是想說都用inorder,但是我後來return的東西,應該比較像那個先拜訪左子點&右子點完後,再拜訪父節點的那個Traversal。