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

俄语学习网站wordpress没有upload

俄语学习网站,wordpress没有upload,网站营销策略怎么写,wordpress如何发布文件[数据结构算法] 给一棵树和一个sum,判断是否存在从root到叶子结点的path之和等于sum? 可以使用两种方法求解 递归 CheckTreeSumRecursive 问题转换为递归判断左右子树是否满足路径和等于sum减去当前节点的值。 迭代 CheckTreeSumNonRecursive 使用两个…

[数据结构+算法] 给一棵树和一个sum,判断是否存在从root到叶子结点的path之和等于sum?

可以使用两种方法求解

  • 递归 CheckTreeSumRecursive

问题转换为递归判断左右子树是否满足路径和等于sum减去当前节点的值。

  • 迭代 CheckTreeSumNonRecursive

使用两个栈数据结构,一个存储节点,另一个存储对应的节点到root节点到sum,迭代遍历到叶子节点时进行判断。

详细代码如下:

#include <iostream>
#include <stack>using namespace std;struct TreeNode {TreeNode(int val_) : val(val_), left(nullptr), right(nullptr) {}int val;TreeNode *left;TreeNode *right;
};bool CheckTreeSumRecursive(TreeNode *head, int targetSum) {if (head == nullptr) {return false;}if (head->left == nullptr && head->right == nullptr && head->val == targetSum) {return true;}return CheckTreeSumRecursive(head->left, targetSum - head->val) || CheckTreeSumRecursive(head->right, targetSum - head->val);
}bool CheckTreeSumNonRecursive(TreeNode *head, int targetSum) {if (head == nullptr) {return false;}stack<TreeNode*> nodes;nodes.push(head);stack<int> sums;sums.push(head->val);while (!nodes.empty()) {TreeNode *node = nodes.top();nodes.pop();int sum = sums.top();sums.pop();if (node->left == nullptr && node->right == nullptr && sum == targetSum) {return true;}if (node->left != nullptr) {nodes.push(node->left);sums.push(sum + node->val);}if (node->right != nullptr) {nodes.push(node->right);sums.push(sum + node->val);}}return false;
}// 打印结果的辅助函数
void printResult(bool result) {cout << (result ? "true" : "false") << endl;
}int main() {// 创建示例二叉树TreeNode* root = new TreeNode(5);root->left = new TreeNode(4);root->right = new TreeNode(8);root->left->left = new TreeNode(11);root->left->left->left = new TreeNode(7);root->left->left->right = new TreeNode(2);root->right->left = new TreeNode(13);root->right->right = new TreeNode(4);root->right->right->right = new TreeNode(1);cout << "Test Recursive Solution...\n";cout << "Example 1: ";printResult(CheckTreeSumRecursive(root, 22)); // 输出 truecout << "Example 2: ";printResult(CheckTreeSumRecursive(root, 5)); // 输出 falsecout << "Example 3: ";printResult(CheckTreeSumRecursive(nullptr, 0)); // 输出 falsecout << "Test Recursive Solution...\n";cout << "Example 1: ";printResult(CheckTreeSumNonRecursive(root, 22)); // 输出 truecout << "Example 2: ";printResult(CheckTreeSumNonRecursive(root, 5)); // 输出 falsecout << "Example 3: ";printResult(CheckTreeSumNonRecursive(nullptr, 0)); // 输出 falsereturn 0;
}
http://www.yayakq.cn/news/363721/

相关文章:

  • 做平面设计用什么网站素材多长沙免费网站排名
  • 佛山网站建设企业推荐迪庆北京网站建设
  • 湖州市网站建设qq空间主页制作网站
  • 自己设置免费网站设计平台php网站建设案例教程视频教程
  • 三网合一的网站怎么做成都建设施工安全协会网站
  • 网站建设入门教程pdf搭建网站步骤
  • 红河蒙自网站开发南昌建站系统外包
  • wordpress插件排行温州seo建站
  • 邢台建设规划网站做淘宝导航网站
  • 机械网站怎么做网站功能开发费用多少钱
  • 买app的网站建设樟木头做网站
  • 免费发布信息网站有哪些wow slider wordpress
  • 手机企业网站程序wordpress多站点模式
  • 红旗渠建设集团网站监控摄像头做斗鱼直播网站
  • 全国文明网联盟网站建设北京行业网站制作
  • 企业官网建站网站wordpress怎么写主题
  • 浙江大学陈越做的刷题网站网站建设和设计
  • 常州天宁区建设局网站WordPress设置模块间距
  • 制作网站语言wordpress 发布文章
  • 常州网站建设设计wordpress data src
  • 烟台网站seo服务手机怎么制作网站
  • 自己做短视频的网站如何推广自己的微信号
  • 电商网站建设开发的语言有哪些wordpress评分插件
  • 堵博网站建设微信网站界面设计
  • 苏州网站定制彩票创建网站
  • 北京做网站建设价格低抖音运营方案详细
  • 教学平台网站建设合同空间信息网站
  • 便宜网站建设怎么样东莞高端网站建设费
  • 怎么制作一个游戏appseo运营工作内容
  • 教育网站建设的目的成品网站nike源码免费