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

如何做分销型网站react.js做的网站

如何做分销型网站,react.js做的网站,西安企业做网站多少钱,网站开发类合同范本今日内容 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和 110.平衡二叉树 - Easy 题目链接:. - 力扣(LeetCode) 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为&#xff1…

今日内容

  •  110.平衡二叉树 
  •  257. 二叉树的所有路径 
  •  404.左叶子之和

110.平衡二叉树 - Easy

题目链接:. - 力扣(LeetCode)

给定一个二叉树,判断它是否是高度平衡的二叉树。

本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

思路:递归法,注意区分深度和高度

class Solution {
public:// 返回以该节点为根节点的二叉树的高度,如果不是平衡二叉树了则返回-1int getHeight(TreeNode* node) {if (node == NULL) {return 0;}int leftHeight = getHeight(node->left);if (leftHeight == -1) return -1;int rightHeight = getHeight(node->right);if (rightHeight == -1) return -1;return abs(leftHeight - rightHeight) > 1 ? -1 : 1 + max(leftHeight, rightHeight);}bool isBalanced(TreeNode* root) {return getHeight(root) == -1 ? false : true;}
};

257. 二叉树的所有路径 - Easy

题目链接:力扣-257. 二叉树的所有路径

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。

叶子节点 是指没有子节点的节点。

思路:递归法,其实实现的是回溯

class Solution {
private:void traversal(TreeNode* cur, vector<int>& path, vector<string>& result) {path.push_back(cur->val); // 中,中为什么写在这里,因为最后一个节点也要加入到path中 // 这才到了叶子节点if (cur->left == NULL && cur->right == NULL) {string sPath;for (int i = 0; i < path.size() - 1; i++) {sPath += to_string(path[i]);sPath += "->";}sPath += to_string(path[path.size() - 1]);result.push_back(sPath);return;}if (cur->left) { // 左 traversal(cur->left, path, result);path.pop_back(); // 回溯}if (cur->right) { // 右traversal(cur->right, path, result);path.pop_back(); // 回溯}}public:vector<string> binaryTreePaths(TreeNode* root) {vector<string> result;vector<int> path;if (root == NULL) return result;traversal(root, path, result);return result;}
};

404.左叶子之和 - Easy

题目链接:力扣-404. 左叶子之和

给定二叉树的根节点 root ,返回所有左叶子之和。 

思路:递归法 

class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {if (root == NULL) return 0;if (root->left == NULL && root->right== NULL) return 0;int leftValue = sumOfLeftLeaves(root->left);    // 左if (root->left && !root->left->left && !root->left->right) { // 左子树就是一个左叶子的情况leftValue = root->left->val;}int rightValue = sumOfLeftLeaves(root->right);  // 右int sum = leftValue + rightValue;               // 中return sum;}
};

今日总结

第一题注意区分高度和深度,第二题回溯搞得不是很明白

 

 

 

 

 

 

 

 

 

http://www.yayakq.cn/news/373149/

相关文章:

  • 事业单位网站后台建设方案免费网站app代码
  • 怎么制作网站后台国内建设网站的公司
  • 中国人自己的空间站导视设计分析
  • 烟台汽车网站建设江苏运营网站建设业务
  • 网站通栏代码wordpress社区主题
  • udacity 移动网站开发网站功能模块 分析
  • 有口碑的合肥网站建设wordpress 带用户中心
  • 专业网站制作案例html个人主页制作
  • 做网站一定要认证吗静海网站开发
  • 石家庄网站优化招聘唯品会网站建设
  • php网站开发外文翻译wordpress编辑器宽度
  • 无锡市网站搭建网页设计实验报告实验内容
  • 网站开发维护合同wordpress 亲子博客
  • 深圳装饰公司网站免费网站创建工具
  • 北京公司注册在哪个网站中卫装修设计
  • 设计师灵感网站外贸全网营销推广
  • 泉州惠安网站建设自己建设个小网站要什么手续费
  • 网站建设 推广400电话wordpress建立商业网站
  • 深圳在哪些网站上面做推广网页版快手
  • 网站开发插件dw网页设计心得体会
  • 做php网站用mvc多吗中国华能集团电子商务平台
  • 吾爱网站网站seo优化推广
  • 最新免费下载ppt模板网站vi设计公司 深圳
  • 自助手机网站建站软件wordpress用户密码 破解
  • 响应式网站项目沧州网站建设外贸
  • 东莞招聘信息网不同类型网站优化
  • 一款蛋糕食品类企业手机网站源码wordpress网站都有哪些
  • 手机直播网站开发电子邮件免费注册
  • 鹤壁市建设工程交易中心网站app上架要多少钱
  • 专业做图片制作网站网络营销岗位