日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

lintcode-93-平衡二叉树

發(fā)布時間:2024/6/30 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lintcode-93-平衡二叉树 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

93-平衡二叉樹

給定一個二叉樹,確定它是高度平衡的。對于這個問題,一棵高度平衡的二叉樹的定義是:一棵二叉樹中每個節(jié)點的兩個子樹的深度相差不會超過1。

您在真實的面試中是否遇到過這個題? Yes
樣例
給出二叉樹 A={3,9,20,#,#,15,7}, B={3,#,20,15,7}

二叉樹A是高度平衡的二叉樹,但是B不是

標(biāo)簽
分治法 遞歸

思路

采用遞歸的方式,判斷某個結(jié)點的平衡因子(左右子樹高度差)是否大于1,若平衡因子大于1,則其一定不是平衡二叉樹,否則,繼續(xù)判斷。

code

/*** Definition of TreeNode:* class TreeNode {* public:* int val;* TreeNode *left, *right;* TreeNode(int val) {* this->val = val;* this->left = this->right = NULL;* }* }*/ class Solution { public:/*** @param root: The root of binary tree.* @return: True if this Binary tree is Balanced, or false.*/bool isBalanced(TreeNode *root) {// write your code here// write your code herereturn isSubTreeBalanced(root) != -1;}int isSubTreeBalanced(TreeNode *root) {if(root == NULL) {return 0;}int left = isSubTreeBalanced(root->left);int right = isSubTreeBalanced(root->right);if(left == -1 || right == -1 || abs(left - right) > 1) {return -1;}else {return (left > right ? left : right) + 1;}} };

轉(zhuǎn)載于:https://www.cnblogs.com/libaoquan/p/7150116.html

總結(jié)

以上是生活随笔為你收集整理的lintcode-93-平衡二叉树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。