来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。

解答

随便怎么遍历,没啥好说的,把深度递归传进去

  1. /**
  2. * Definition for a binary tree node.
  3. * function TreeNode(val) {
  4. * this.val = val;
  5. * this.left = this.right = null;
  6. * }
  7. */
  8. /**
  9. * @param {TreeNode} root
  10. * @return {number}
  11. */
  12. var maxDepth = function(root) {
  13. let maxDeep = 0;
  14. function traverse (node, deep) {
  15. if (!node) return null;
  16. if (!node.left && !node.right) {
  17. if (maxDeep < deep) {
  18. maxDeep = deep;
  19. }
  20. }
  21. traverse(node.left, deep + 1);
  22. traverse(node.right, deep + 1);
  23. }
  24. traverse(root, 1);
  25. return maxDeep;
  26. };