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

网站会员注册怎么做上海市场监督管理局

网站会员注册怎么做,上海市场监督管理局,室内装修设计软件下载,网站建设哪家技术好Day23——二叉树Ⅸ 669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树 今日内容#xff1a; ● 669.修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇 669.修剪二叉搜索树 思路#xff1a;主要是… Day23——二叉树Ⅸ 669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树 今日内容 ● 669.修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇 669.修剪二叉搜索树 思路主要是要理解如何删除左子树小于val就要看左子树的右子树这一步可以直接用左子树的右子树替换左子树。 遍历二叉树 1. low root-val返回root-right的处理结果 2. high root-val 返回root-left的处理结果 3. 其他情况正常处理左右子树。 TreeNode* trimBST(TreeNode* root, int low, int high) {if(root nullptr) return root;if(root-val low) {root trimBST(root-right, low, high);} else if(root-val high) {root trimBST(root-left, low, high);} else {root-left trimBST(root-left, low, high);root-right trimBST(root-right, low, high);}return root;}迭代法暂时留着 108.将有序数组转换为二叉搜索树 思路题本身不难但是我又卡在了边界判断条件上缝缝补补才出来讨厌没有边界感的我 其实还是没搞明白递归结束条件等会看看题解。。。 TreeNode* recursion(vectorint nums, int left, int right) {if(left right)return nullptr;int index left ((right - left) 1);if(index nums.size())return nullptr;TreeNode* node new TreeNode(nums[index]);node-left recursion(nums, left, index - 1);node-right recursion(nums, index 1, right);return node;} TreeNode* sortedArrayToBST(vectorint nums) {return recursion(nums, 0, nums.size());}思考一下修改了点代码 上面方法的代码之所以越界是因为当left right size的时候但我的假设是左闭右开所以sortedArrayToBST传入的是size因此不能让leftsize并且 node-left recursion(nums, left, index - 1)传入的right也没必要减1减1是左闭右闭的思路 TreeNode* recursion(vectorint nums, int left, int right) {// 左闭右开if(left right)return nullptr;int index left ((right - left) 1);// if(index nums.size())// return nullptr;TreeNode* node new TreeNode(nums[index]);node-left recursion(nums, left, index);node-right recursion(nums, index 1, right);return node;} TreeNode* sortedArrayToBST(vectorint nums) {return recursion(nums, 0, nums.size());}再来个左闭右闭相等有意义并且已访问值不再传入 TreeNode* recursion(vectorint nums, int left, int right) {// 左闭右闭if(left right)return nullptr;int index left ((right - left) 1);// if(index nums.size())// return nullptr;TreeNode* node new TreeNode(nums[index]);node-left recursion(nums, left, index - 1);node-right recursion(nums, index 1, right);return node;} TreeNode* sortedArrayToBST(vectorint nums) {return recursion(nums, 0, nums.size() - 1);}好好好原来刚开始的代码是左闭右闭思路主函数没有减一引起的。 538.把二叉搜索树转换为累加树 思路二叉搜索树中序遍历结果为递增左根右因此将中序遍历结果加入栈然后遍历栈修改元素值即可。 有没有一次遍历就修改的方法呢???想想。。除非倒着来之前说过倒着来就是回溯难道把中序遍历结果回溯不会看题解 好好好把中序结果加入栈再出来那不就是右根左吗。。。 TreeNode* convertBST(TreeNode* root) {if(root nullptr) return root;stackTreeNode* st;TreeNode* cur root;int sum 0;while(cur ! nullptr || !st.empty()) {if(cur ! nullptr) {st.push(cur);cur cur-right;} else {cur st.top();st.pop();sum cur-val;cur-val sum;cur cur-left;}}return root;}这几种遍历还是没玩明白呀
http://www.hkea.cn/news/14263233/

相关文章:

  • 公司建立网站的意义做网站需要多少钱知乎
  • 网站建设 部署与发布视频教程广州网站设计权威乐云践新
  • 小网站建设公司排名销量不高的网站怎么做
  • 做网站最省钱零食铺网站建设策划书
  • 做网站是前端还是后端物流公司创建
  • 网站建设和托管哪家好wordpress主题模板文件
  • 上海高端网站开发站霸网络专业网站的建设设行吗
  • 网站描述标签优化网站建设 工作计划
  • 学网站开发需要会什么建设部房地产网站
  • 苏州建网站必去苏州聚尚网络创业做网站APP开发
  • 外贸工厂 网站建设wordpress本地登录密码
  • 网站设计比例揭阳网站建设工作
  • 民制作网站价格深圳投资推广署
  • 官方网站建设案例网页设计工具有哪些
  • 网站建设论坛首页驻马店北京网站建设
  • 泰兴做网站的公司重新建网站需要转域名吗
  • 一个优秀的个人网站微网站生成app
  • 除了速卖通还有什么网站做外贸wordpress获取手机号
  • 在线医疗网站建设cdr做网站流程
  • 国外网站推广如何做免费连网络的软件有哪些
  • 怎么在网站上做游戏代练wordpress主动提交
  • 网站功能建设规划书传奇手游新开服网站
  • 怎样在工商局网站做公示广州必去十大景点排名
  • 做系统前的浏览网站能找回吗希音跨境平台入驻条件
  • 网站 图文混编网站设计 psd
  • 江苏营销型网站建设网站建设有何好处
  • 网页下载网站金坛市政建设有限公司网站
  • 广告项目网站开发做海报素材网站推荐
  • 企业网站建设设计任务书网站建设 福田
  • 3合1网站建设公司微信群推广