最近公司给我派活儿太多了,要干好多活儿,好多工作任务要处理,我都没时间刷题了。leetcode上的题目通过数量一直停留在原地不动,我真的很着急呀,我现在每天过的都有一种紧迫感,很着急,有一种与时间赛跑的感觉,真的时间过的太快了,没有任何人能够阻挡住时间的年轮向前推进的脚步,时间真的过的太快了。
一、平衡二叉树
leetcode题目链接:110.平衡二叉树
题目描述:
给定一个二叉树,判断它是否是 平衡二叉树 。
一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。
强调一波概念:
- 二叉树节点的深度:从根节点到该节点的最长简单路径的条数;
- 二叉树节点的高度:从该节点到根节点的最长简单路径的条数;
一句话总结:深度指「从上到下」,高度指「从下到上」下图更加直观:
在高度与深度的计算中:leetcode上是以节点为1度,但维基百科是边为1度,暂时以leetcode为准。
求高度适合后序遍历,求深度适合前序遍历,可以看一下我写的JS代码,在leetcode上提交可以通过:
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right