LeetCode 110 平衡二叉樹

2021-10-23 16:53:02 字數 783 閱讀 9546

先求當前節點左子樹的高度depth_left,再求當前節點右子樹的高度depth_right。判斷當前節點是否滿足平衡樹的要求,如果滿足遞迴的判斷左子樹和右子樹。時間複雜度o(n*logn),空間複雜度o(n)

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

while(!que.empty())

if(temp -> right != nullptr)

}

}return ans;

}bool isbalanced(treenode* root)

return false;

}};

自底向頂遞迴的做法類似於後序遍歷,對於當前遍歷到的節點,先遞迴地判斷其左右子樹是否平衡,再判斷以當前節點為根的子樹是否平衡。如果一棵子樹是平衡的,則返回其高度(高度一定是非負整數),否則返回 −1。如果存在一棵子樹不平衡,則整個二叉樹一定不平衡。時間複雜度o(n),空間複雜度o(n)(和遞迴呼叫的層數有關)。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution else

}bool isbalanced(treenode* root)

};

leetcode 110 平衡二叉樹 平衡二叉樹

leetcode 110 平衡二叉樹 平衡二叉樹要求所有節點的左右子樹的高度差小於1,因此,只需在遍歷的時候返回其左右子樹的深度。definition for a binary tree node.public class treenode treenode int val treenode int...

LeetCode110 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回true。示例 2 給定二叉樹 1,2,2,3,3,null,nul...

LeetCode 110 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回true。示例 2 給定二叉樹 1,2,2,3,3,null,nul...