Pergunta de entrevista da empresa Amazon

Write a function that returns the depth of a tree.

Respostas da entrevista

Sigiloso

12 de out. de 2012

int finddepth(node_t* node) { if(node == NULL) return -1; else return 1 + MAX(finddepth(node->lchild), finddepth(node->rchild)); }

4

Sigiloso

26 de jul. de 2012

Slightly simplified :] (I think this works; not doubling up on the recursive calls either) public static int depth(Node root, int level) { if (root == null) return level-1; return Math.max(depth(root.right, level+1), depth(root.left, level+1)); }

2

Sigiloso

23 de jun. de 2012

public static int depth(Node root, int level) { if(root != null) { if(depth(root.right, level + 1) > depth(root.left, level + 1)) return depth(root.right, level + 1); else return depth(root.left, level + 1); } return level; }

1