当前位置: 首页 > web >正文

二叉树part03(二)

110. 平衡二叉树

    int postorder(TreeNode* root) {if (root == NULL) return 0;int l = postorder(root->left);if (l == -1) return -1; // 只要出现-1 左子树中某个子树不是平衡二叉树,直接返回-1int r = postorder(root->right);if (r == -1) return -1;// 道理同上if (abs(l - r) > 1) return -1; // 尽管左右子树都是完全二叉树,两颗子树高度差>1 说明整颗树不是平衡二叉树int height = 1 + max(l,r);return height; // 否则返回最大高度}bool isBalanced(TreeNode* root) {if (postorder(root) == -1) return false;return true;}

257.二叉树的所有路径

    vector<string> res;// 从根节点寻找所有路径,肯定是前序遍历,注意要保持字符串的输出格式void dfs(TreeNode* root, string s) {s += to_string(root->val);// if (root->left == NULL && root->right == NULL) {res.push_back(s);return;}if (root -> left) dfs(root->left, s + "->"); if (root -> right) dfs(root->right, s + "->");return;}vector<string> binaryTreePaths(TreeNode* root) { res.clear();if (root == NULL) return res;string s;dfs(root, s);return res;}

404. 二叉树的左叶子之和

看到本题可能一下想到层序遍历,其实没有那么简单,因为找的是左叶子不是左侧节点, 使用递归的话后序最好

    // 后序方便一些int res = 0;void dfs(TreeNode* root) {// 看有无左儿子if (root->left) {// 判断左儿子是不是叶子if (root->left->left == NULL && root->left->right == NULL) {res += root->left->val;// 不是叶子就向下找}else dfs(root->left);} // 右儿子直接向下找if (root->right) {dfs (root->right);}return;}int sumOfLeftLeaves(TreeNode* root) {// 节点数大于等于1if (root -> left == NULL && root->right == NULL) return res; // 节点数等于1和为0dfs(root);return res;}

http://www.xdnf.cn/news/9363.html

相关文章:

  • 计算机组成原理——指令格式
  • Silvaco TCAD 2020 Windows版本安装教程
  • 60、【OS】【Nuttx】编码规范解读(八)
  • 8天Python从入门到精通【itheima】-49~50
  • SOC-ESP32S3部分​​​​​​​:15-PWM脉冲宽度调制
  • 使用 curl 进行 HTTP 请求:详尽指南
  • MATLAB绘制滤波器系数特性图
  • vue+threeJs 创建多色几何体+加载obj模型+跳转ojb模型中心
  • WPF【10_1】数据库与WPF实战
  • Blaster - Multiplayer P107-PXXX: 弹药
  • 四、web安全-行业术语
  • C++11 -- 右值引用和移动语义
  • 注意力机制模块代码
  • Oracle 12c新增的数字转换验证VALIDATE_CONVERSION函数
  • rabbitmq的高级特性
  • 理解 Kubernetes 的架构与控制平面组件运行机制
  • WebSocket学习总结
  • Python Day34 学习
  • 深度学习能取代机器学习吗?
  • 庄家抬轿指标,通达信炒股软件副图指标公式,指标使用图文教程
  • Linux Ubuntu24.04配置安装MySQL8.4.5高可用集群主从复制!
  • AI 编程如何让你轻松采集网站数据?
  • GitHub 趋势日报 (2025年05月26日)
  • 体现物联网环境下安全防护的紧迫性 :物联网环境下的个人信息安全:隐忧与防护之道
  • 【Spring AI】Spring AI 1.0.0-M7、M8更新至1.0.0版本兼容的所需修改要点
  • 【ARM】如何通过ARMDS的Map文件查看堆栈调用情况
  • 【MAP容器姓名成绩输入查询修改删除】2022-2-4
  • 5 WPF中的Page页面的使用
  • 2.3 TypeScript 非空断言操作符(后缀 !)详解
  • C++中回调函数详解