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

优化方案官方网站城乡与建设部网站首页

优化方案官方网站,城乡与建设部网站首页,大连营销团队,电脑赚钱的项目有哪些文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析#xff1a;采用递归的方式遍历二叉树#xff0c;【算法与数据结构】144、94、145LeetCode二叉树的前中后遍历可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析采用递归的方式遍历二叉树【算法与数据结构】144、94、145LeetCode二叉树的前中后遍历递归法、迭代法递归法程序可以参考这篇文章。递归重要的是三步骤输入参数和返回值终止条件单层递归逻辑。   程序如下 class Solution { public://1、 输入参数root1 root2TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {// 2、终止条件if (!root1) return root2;if (!root2) return root1;// 3、单层递归逻辑root1-val root2-val;root1-left mergeTrees(root1-left, root2-left);root1-right mergeTrees(root1-right, root2-right);// 1、返回值 root1return root1;} };三、完整代码 # include iostream # include vector # include string # include queue # include stack using namespace std;// 树节点定义 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 { public://1、 输入参数root1 root2TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {// 2、终止条件if (!root1) return root2;if (!root2) return root1;// 3、单层递归逻辑root1-val root2-val;root1-left mergeTrees(root1-left, root2-left);root1-right mergeTrees(root1-right, root2-right);// 1、返回值 root1return root1;} };// 前序遍历统一代码风格迭代写法 class Solution8 { public:vectorint preorderTraversal(TreeNode* root) {vectorint result;stackTreeNode* st;if (root ! NULL) st.push(root);while (!st.empty()) {TreeNode* node st.top();if (node ! NULL) {st.pop();if (node-right) st.push(node-right); // 右if (node-left) st.push(node-left); // 左st.push(node); // 中st.push(NULL);}else {st.pop();node st.top();st.pop();result.push_back(node-val);}}return result;} };// 前序遍历迭代法创建二叉树每次迭代将容器首元素弹出弹出代码还可以再优化 void Tree_Generator(vectorstringt, TreeNode * node) {if (!t.size() || t[0] NULL) return; // 退出条件else {node new TreeNode(stoi(t[0].c_str())); // 中if (t.size()) {t.assign(t.begin() 1, t.end());Tree_Generator(t, node-left); // 左}if (t.size()) {t.assign(t.begin() 1, t.end());Tree_Generator(t, node-right); // 右}} }templatetypename T void my_print(T v, const string msg) {cout msg endl;for (class T::iterator it v.begin(); it ! v.end(); it) {cout *it ;}cout endl; }templateclass T1, class T2 void my_print2(T1 v, const string str) {cout str endl;for (class T1::iterator vit v.begin(); vit v.end(); vit) {for (class T2::iterator it (*vit).begin(); it (*vit).end(); it) {cout *it ;}cout endl;} }// 层序遍历 vectorvectorint levelOrder(TreeNode* root) {queueTreeNode* que;if (root ! NULL) que.push(root);vectorvectorint result;while (!que.empty()) {int size que.size(); // size必须固定, que.size()是不断变化的vectorint vec;for (int i 0; i size; i) {TreeNode* node que.front();que.pop();vec.push_back(node-val);if (node-left) que.push(node-left);if (node-right) que.push(node-right);}result.push_back(vec);}return result; }int main() {vectorstring t1 { 1, 3, 5, NULL, NULL, NULL, 2, NULL, NULL}; // 前序遍历my_print(t1, 目标树);TreeNode* root1 new TreeNode();Tree_Generator(t1, root1);vectorvectorint tree1 levelOrder(root1);my_print2vectorvectorint, vectorint(tree1, 目标树:);vectorstring t2 { 2, 1, NULL, 4, NULL, NULL, 3, NULL, 7, NULL, NULL }; // 前序遍历my_print(t2, 目标树);TreeNode* root2 new TreeNode();Tree_Generator(t2, root2);vectorvectorint tree2 levelOrder(root2);my_print2vectorvectorint, vectorint(tree2, 目标树:);Solution s;TreeNode* root s.mergeTrees(root1, root2);vectorvectorint tree levelOrder(root);my_print2vectorvectorint, vectorint(tree, 目标树:);system(pause);return 0; }end
http://www.zqtcl.cn/news/872578/

相关文章:

  • 做进行网站推广赚钱互联网企业信息服务平台
  • 微信公众号做视频网站吗百度账号登录入口网页版
  • 北京建设银行纪念钞预定官方网站撤销网站备案申请书
  • 网站平台策划书安丘市建设局网站
  • 图片类网站建设seol英文啥意思
  • 网站编辑工作好做吗WordPress的图片存在哪
  • 你的网站尚未进行备案为什么网站百度搜不到了
  • 沙洋网站开发网站建设方案免费
  • iis建设网站教程单页面推广网站
  • 东莞网站建设效果郑州企业自助建站系统
  • php做的购物网站系统下载宜州做网站需要多少钱
  • 昆明网上商城网站建设怎么做网站教程视频
  • 网站开发都需要什么移动公司网络维护待遇
  • 计算机网络技术网站建设方向wordpress虚拟货币
  • 小江网站建设公司紧急页面通知升级中访问大通知
  • 那个公司做的网站详情页好看做动态图片的网站吗
  • 旅游网站模板文章wordpress 删除
  • 沛县专业做网站wordpress id重置密码
  • 湖南邵阳建设局网站做外贸一般用什么网站
  • html网站开发主要涉及哪些技术越秀金融大厦地址
  • 北京建设银行网站田村广州室内设计公司排行榜
  • 安徽金路建设集团有限公司网站平面设计班培训入门
  • 小型电子商务网站开发php mysql网站开发教程
  • 网站建设常州麦策电商2 网站建设的一般步骤包含哪些
  • cn免费域名注册网站企业推广的渠道有哪些
  • 关于网站建设心得体会网站的功能包括哪些
  • 番禺网站制作技术网站建设与管理pdf
  • 毕业设计做网站选题营销型网站功能模块
  • 西部数码网站管理助手安装建工教育网
  • wordpress 网站logowordpress文本编辑器插件