入力バイナリツリーのルート、ツリー要求の深さ。
ルートノードからリーフノードまでの経路ツリーを形成し、順次、ツリー内の最長パスの長さの深さ(ルート、リーフノードを含む)を通過します。
サンプル
入力:バイナリツリー[8、12、2、NULL 、NULL、6,4、NULL、NULL、NULL、NULL] としては、以下:
8
/
122
/
64
出力:3
class Solution {
public:
int treeDepth(TreeNode* root) {
if(!root) return 0;
int ans = dfs(root,1);
return ans;
}
int dfs(TreeNode *root,int dep) {
int ans = dep;
if(root -> left) ans = max(ans,dfs(root -> left,dep + 1));
if(root -> right) ans = max(ans,dfs(root -> right,dep + 1));
return ans;
}
};