2017-06-20 7 views
0

正解を得ることができません。バイナリツリーの高さを調べることができません

int height(Node* root) { 
     // Write your code here. 
     if (root == NULL) 
     return 0; 

     // find the height of each subtree 
     int lh = height(root->left); 
     int rh = height(root->right); 

     return max(lh,rh)+1; 
} 
+2

具体的な例がありますか? – doctorlove

+1

あなたのロジックは正しいように見えますが、私が見ていないC固有のエラーがあります。 –

+0

ようこそスタックオーバーフロー!問題の声明が単に「動作しない」場合は、ソリューションを提供することは困難です。実際の結果とどのように違うのか、そしてどのようなことが起こるのかをより完全に説明するために質問を編集してください。何が良い説明になるかについてのヒントについては、[ask]を参照してください。 –

答えて

0

私は、あなたが高さ0で根が考慮されている質問を解決していると思います。新しい方の解決策はここにあります。

int height(Node* root) { 
    if (root == NULL) return 0; 
    if (root ->left== NULL && root->right== NULL) 
    return 0; 

    // find the height of each subtree 
    int lh = height(root->left); 
    int rh = height(root->right); 

    return max(lh,rh)+1; 

    // Write your code here. 
} 
関連する問題