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

上街做网站谷歌浏览器2021最新版

上街做网站,谷歌浏览器2021最新版,html5国外酷炫网站,今日汽油价格路径总和Ⅲ 这题和和《为K的数组》思路一致&#xff0c;也是用前缀表。 代码调试过&#xff0c;所以还加一部分用前序遍历数组和中序遍历数组构造二叉树的代码。 #include<vector> #include<unordered_map> #include<iostream> using namespace std; //Def…

路径总和Ⅲ
在这里插入图片描述
这题和和《为K的数组》思路一致,也是用前缀表。
代码调试过,所以还加一部分用前序遍历数组和中序遍历数组构造二叉树的代码。

#include<vector>
#include<unordered_map>
#include<iostream>
using namespace std;
//Definition for a binary tree node.
struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptr) {}TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
};class Solution {
private:unordered_map<long long, int>map;int dfs(TreeNode* root, long long cur, int targetSum){if (root == NULL){return 0;}int count = 0;cur += root->val;if (map.find(cur - targetSum) != map.end()){count += map[cur - targetSum];}map[cur]++;int leftcount = dfs(root->left, cur, targetSum);int rightcount = dfs(root->right, cur, targetSum);map[cur]--;//因为路径总和只是针对同一个头结点,所以不是同一个头结点时需要回溯return count + leftcount + rightcount;}
public:int pathSum(TreeNode* root, int targetSum) {map[0] = 1;return dfs(root, 0, targetSum);}
};class tree {
private:TreeNode* build(vector<int>& preorder, vector<int>& inorder){if (preorder.size() == 0)return NULL;//找到根节点int rootvalue = preorder[0];TreeNode* root = new TreeNode(rootvalue);//叶子节点if (preorder.size() == 1)return root;//区分左右子树位置int index = 0;for (int i = 0; i < inorder.size(); i++){if (inorder[i] == rootvalue){index = i;break;}}vector<int>left_in(inorder.begin(), inorder.begin() + index);vector<int>right_in(inorder.begin() + index + 1, inorder.end());vector<int>left_pre(preorder.begin() + 1, preorder.begin() + 1 + left_in.size());vector<int>right_pre(preorder.begin() + 1 + left_in.size(), preorder.end());root->left = build(left_pre, left_in);root->right = build(right_pre, right_in);return root;}
public:TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {return build(preorder, inorder);}
};int main()
{vector<int>inorder = {3,3,-2,5,2,1,10,-3,11};vector<int>preorder = { 10,5,3,3,-2,2,1,-3,11 };int targetsum = 8;tree mytree;TreeNode* root = mytree.buildTree(preorder,inorder);Solution solution;int result = solution.pathSum(root, targetsum);cout << result << endl;
}
http://www.ritt.cn/news/18421.html

相关文章:

  • 网站做权重的方法广州seo外包
  • 可以通过哪些网站注册域名常州seo招聘
  • 阿里云ecs服务器怎么建设网站视频营销模式有哪些
  • 重庆网站维护制作百度网盘客服电话人工服务
  • 乌鲁木齐网站制作网络游戏推广公司
  • 网站开发技术助理要求seo排名优化教学
  • 湘潭做网站价格 d磐石网络搜狗站长平台验证不了
  • 广西人才网官方网站新产品宣传推广策划方案
  • 网站提供的服务网络开发
  • 天津高端模板建站营销推广内容
  • qq强制聊天网站源码软文发布公司
  • 如何推广自己网站网络推广工具
  • 大连哪家公司做网站深圳seo关键词优化
  • 网站后台管理系统模板seo是什么意思 职业
  • 柳市外贸网站建设网络推广怎么学
  • 大冶市规划建设局网站百度代发收录
  • 做阀门的网站中小企业网站优化
  • 做网站交互下拉关键词排名
  • 百度批量查询工具系统优化软件哪个最好的
  • 套路网站怎么做的广告优化师怎么学
  • 外贸营销网站推广在线生成个人网站app
  • 网站开发前端和后端的区别郑州seo代理商
  • php动态网站开发教程前言电商数据网站
  • 微信公众号制作的网站开发seo怎么搞
  • 广州石井做网站网站优化推广方法
  • js网站记住密码怎么做百度游戏排行榜风云榜
  • 大荔县住房和城市建设局网站环球资源网官方网站
  • wordpress除了首页还能再新增主题厦门seo搜索引擎优化
  • 如何在国内做美国外贸公司网站唐山网站建设方案优化
  • 做app和网站哪个服务外包公司