剑指Offer——II.平衡二叉树(JS实现) |刷题打卡

简介: 剑指Offer——II.平衡二叉树(JS实现) |刷题打卡

前言

掘金团队号上线,助你 Offer 临门! 点击 查看详情

题目描述

image.png

解题思路

  • 这道题属于二叉树考查深度的问题
  • 本题的核心在于知道二叉树的深度怎么求:二叉树的深度 = 左子树的深度与右子树的深度中的最大值 + 1,这是核心解题点

解题代码

var isBalanced = function(root) {
    let flag = true;
    dfs(root);
    return flag;
    function dfs(root) {
        if (!root) return 0;
        let l = dfs(root.left);
        let r = dfs(root.right);
        if (Math.abs(l - r) > 1) {
            flag = false;
        }
        return Math.max(l,r) + 1;
    }
};

总结

  • 本题给我们的启示就是二叉树的深度怎么求:
  • 左子树与右子树中选最大的那个+1就是目标节点的深度。
相关文章
|
存储 JSON JavaScript
「offer来了」保姆级巩固你的js知识体系(4.0w字)
该文章提供了JavaScript知识体系的全面复习资料,覆盖了从基础语法到高级特性如闭包、原型链、异步编程等多个方面,并通过大量的面试题和实例代码帮助巩固理解。
「offer来了」保姆级巩固你的js知识体系(4.0w字)
|
JavaScript Java 测试技术
基于微信小程序的刷题系统的+springboot+vue.js附带文章和源代码设计说明文档ppt
基于微信小程序的刷题系统的+springboot+vue.js附带文章和源代码设计说明文档ppt
285 1
|
JavaScript 前端开发
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
|
JavaScript 前端开发
JavaScript题解剑指offer : 09. 用两个栈实现队列
JavaScript题解剑指offer : 09. 用两个栈实现队列
116 0
|
JavaScript 前端开发
刷题日常计~JS⑥
刷题日常计~JS⑥
刷题日常计~JS⑥
|
存储 JavaScript 前端开发
刷题日常计~JS⑤
刷题日常计~JS⑤
刷题日常计~JS⑤
|
JavaScript 前端开发
刷题日常计~JS④
刷题日常计~JS④
刷题日常计~JS④
|
JavaScript 前端开发
刷题日常计~JS③
刷题日常计~JS③
刷题日常计~JS③
|
机器学习/深度学习 JavaScript 前端开发
刷题日常计~JS②
刷题日常计~JS②
刷题日常计~JS②
|
存储 JavaScript 前端开发
刷题日常计~JS①
刷题日常计~JS①
刷题日常计~JS①

热门文章

最新文章