Domanda di colloquio di Amazon

Find depth of a binary tree

Risposte di colloquio

Anonimo

2 nov 2011

int depth(node * root){ if(!root){ return 0; } else { return 1 + max(depth(node->right), depth(node->left)); } }

1

Anonimo

5 feb 2012

@ajs: don't forget the case of the root being the only node in the tree. If the tree consists of only the root node, then the depth should return 0. There needs to be an else if in there checking for this case, or else your function will return a depth of 1, when it should return 0: if (root.left == null && root.right == null) return 0;

Anonimo

1 mar 2011

using recursion