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

收到网站代码后怎么做杭州产品推广服务公司

收到网站代码后怎么做,杭州产品推广服务公司,哪个网站能上传自己做的简历,检查网站的跳转路径是否清晰 哪里要优化代码随想录刷题随记15-二叉树回溯 110.平衡二叉树 leetcode链接 一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 求深度和求高度的区别: 求深度可以从上到下去查 所以需要前序遍历(中左右&#xff…

代码随想录刷题随记15-二叉树回溯

110.平衡二叉树

leetcode链接
一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。
求深度和求高度的区别:
求深度可以从上到下去查 所以需要前序遍历(中左右),而高度只能从下到上去查,所以只能后序遍历(左右中)
递归:
所以这里的递归其实是后序遍历的思路

class Solution {
public:void subjudge(bool & isbalanced,int&height ,TreeNode * root){if(root==nullptr){isbalanced=true;height=0;return;}    int heightleft,heightright;bool ifleftb,ifrightb;       subjudge(ifleftb, heightleft, root->left);subjudge(ifrightb, heightright, root->right);if((ifleftb &&ifrightb)&&(abs(heightleft-heightright)<=1))isbalanced=true;elseisbalanced=false;height=heightleft>heightright?heightleft+1:heightright+1;}bool isBalanced(TreeNode* root) {bool isbalanced;int height;subjudge(isbalanced,height,root);return isbalanced;}
};

此题用迭代法,其实效率很低,因为没有很好的模拟回溯的过程,所以迭代法有很多重复的计算。虽然理论上所有的递归都可以用迭代来实现,但是有的场景难度可能比较大。

例如:都知道回溯法其实就是递归,但是很少人用迭代的方式去实现回溯算法!

257. 二叉树的所有路径

leetcode链接

class Solution {
public:void sub(TreeNode* root,vector<int>&path,vector<string>& ret){if(root!=nullptr)path.push_back(root->val);if(root->left==nullptr&&root->right==nullptr){string tmp="";for(int i=0;i<path.size()-1;i++){tmp+=to_string(path[i]);tmp += "->";}tmp+=to_string(path[path.size()-1]);ret.push_back(tmp);return;}if(root->left!=nullptr){sub(root->left,path,ret);path.pop_back();//回溯}if(root->right!=nullptr){sub(root->right,path,ret);path.pop_back();//回溯}return;}vector<string> binaryTreePaths(TreeNode* root) {vector<string> ret;vector<int> path;if(root==nullptr)return {};sub(root,path,ret);return ret;}
};

迭代版本

404.左叶子之和

leetcode链接

class Solution {
public:vector<string> binaryTreePaths(TreeNode* root) {vector<string> ret;stack<string> stackPath;stack<TreeNode*> stackNode;if(root==nullptr)return {};stackNode.push(root);stackPath.push("");while(!stackNode.empty()){TreeNode * cur=stackNode.top();stackNode.pop();string path=stackPath.top();stackPath.pop();            path+=to_string(cur->val); path+="->";if(cur->left==nullptr&&cur->right==nullptr){path.pop_back();path.pop_back();ret.push_back(path);}if(cur->left!=nullptr){stackNode.push(cur->left);stackPath.push(path);}if(cur->right!=nullptr){stackNode.push(cur->right);stackPath.push(path);}         }return ret;}
};

404.左叶子之和

leetcode链接
当前节点没法判断自己是不是左叶子,必须要通过节点的父节点来判断其左孩子是不是左叶子。
判断代码如下:

if (node->left != NULL && node->left->left == NULL && node->left->right == NULL) {左叶子节点处理逻辑
}
class Solution {
public:void sub(TreeNode * root,int& sum){if(root==nullptr)return;if(root->right!=nullptr){sub(root->right,sum);}if(root->left!=nullptr&&root->left->left==nullptr&&root->left->right==nullptr){sum+=root->left->val;return;}if(root->left!=nullptr){sub(root->left,sum);}  }int sumOfLeftLeaves(TreeNode* root) {int sum=0;sub(root,sum);return sum;}
};

迭代法
本题迭代法使用前中后序都是可以的,只要把左叶子节点统计出来,就可以了

class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {int sum=0;stack<TreeNode*>mystack;if(root==nullptr)return 0;mystack.push(root);while(!mystack.empty()){TreeNode * cur=mystack.top();mystack.pop();if(cur->right!=nullptr){mystack.push(cur->right);}if(cur->left!=nullptr&&cur->left->left==nullptr&&cur->left->right==nullptr){sum+=cur->left->val;continue;}if(cur->left!=nullptr){mystack.push(cur->left);}}return sum;}
};
http://www.mmbaike.com/news/99021.html

相关文章:

  • 做的网站怎么测试工具国内新闻
  • 北京建站abc搜索引擎优化的实验结果分析
  • 入侵网站后台管理系统百度一下首页登录
  • 个人网站建设在哪里网上怎么找人去推广广告
  • 天津工程新希望官网安卓手机优化软件哪个好
  • 上海做机床的公司网站易搜搜索引擎
  • 香港公司怎么做网站app代理推广平台
  • 个人网站备案麻烦网站定制
  • 南宁网站建设超薄网络百度免费seo
  • 织梦网站地图制作教程企业seo职位
  • 网站备案还要买幕布谷歌浏览器搜索引擎入口
  • 有没有专门做建筑造价的私单网站世界足球排名最新
  • 个人网站是商业的吗托管竞价推广公司
  • wordpress中文企业主题 下载广州四楚seo顾问
  • 商标注册网官方网企业网站设计优化公司
  • 最新网站建设方案电商营销推广有哪些?
  • 广州网站优化服务商新冠不易感染三种人
  • php网站开发注意问题如何创建网站
  • 嘉兴网站建设企业网站制作关键词优化快速
  • 域名做违法网站公众号推广费用一般多少
  • 临沂网站优化公司2022年新闻摘抄十条简短
  • 网站建设阶段要做什么一键生成网站
  • php程序员做企业网站5118关键词工具
  • 哪个行业最喜欢做网站能够免费换友链的平台
  • 济南制作网站公司哪家好交换链接适合哪些网站
  • 四川门户网站建设管理规定各大网站收录提交入口
  • php mysql网站开发书搜索大全引擎地址
  • 网站建设费用先付一半百度视频免费高清影视
  • 上海工程公司排名seo运营是什么
  • 什么网站可以兼职做平面设计软文技巧