算法-树&二叉树&二叉搜索树

二叉树

1、二叉树的最小深度

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

/**
 * 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)
 * }
 */
const minDepth =(root)  => {
  if (!root) {
    return 0 
  }
  const que =[[root,1]]
  while (que.length) {
    const [node, length]=que.shift();
    if(!node.left && !node.right){
      return length;
    }
    if(node.left)que.push([node.left,length+1])
    if(node.right)que.push([node.right,length+1])
  }
}

时间复杂度:O(n) (n为树的节点数)
空间复杂度:O(n)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。