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

网站开发语言学习网络营销平台名词解释

网站开发语言学习,网络营销平台名词解释,北京网页设计公司山东济南兴田德润在哪里,做网站运营需要学什么文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析#xff1a;思路比较简单#xff0c;遍历所有节点然后判断该节点是否为左叶子节点#xff0c;如果是#xff0c… 文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析思路比较简单遍历所有节点然后判断该节点是否为左叶子节点如果是将其值累加。遍历算法采用【算法与数据结构】144、94、145LeetCode二叉树的前中后遍历递归法、迭代法文章中递归前序遍历算法设置了一个左节点标志符遍历左节点时标识符为1左右节点为空则为叶子节点。   程序如下 class Solution { public:void traversal_preOrder(TreeNode* cur, int sum, int left_flag) { // 前序遍历if (cur NULL) return;if (!cur-left !cur-right left_flag) sum cur-val; // 叶子节点且为左节点traversal_preOrder(cur-left, sum, 1); // 左traversal_preOrder(cur-right, sum, 0); // 右 }// 遍历所有节点判断每个节点的左节点是否为叶子结点然后相加int sumOfLeftLeaves(TreeNode* root) { int result 0;traversal_preOrder(root, result, 0);return result;} };复杂度分析 时间复杂度 O ( n ) O(n) O(n)。空间复杂度 O ( n ) O(n) O(n)。 三、完整代码 # includeiostream # includestring # includevector # includequeue 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:void traversal_preOrder(TreeNode* cur, int sum, int left_flag) { // 前序遍历if (cur NULL) return;if (!cur-left !cur-right left_flag) sum cur-val; // 叶子节点且为左节点traversal_preOrder(cur-left, sum, 1); // 左traversal_preOrder(cur-right, sum, 0); // 右 }// 遍历所有节点判断每个节点的左节点是否为叶子结点然后相加int sumOfLeftLeaves(TreeNode* root) { int result 0;traversal_preOrder(root, result, 0);return result;} };// 前序遍历迭代法创建二叉树每次迭代将容器首元素弹出弹出代码还可以再优化 void Tree_Generator(vectorstring t, 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); // 右}} }// 层序遍历 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; }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;} }int main() {vectorstring t { 3, 9, NULL, NULL, 20, 15, NULL, NULL, 7, NULL, NULL }; // 前序遍历my_print(t, 目标树);TreeNode* root new TreeNode();Tree_Generator(t, root);vectorvectorint tree levelOrder(root);my_print2vectorvectorint, vectorint(tree, 目标树:);Solution s;int result s.sumOfLeftLeaves(root);cout sumOfLeftLeaves: result endl;system(pause);return 0; }end
http://www.sadfv.cn/news/8996/

相关文章:

  • 如何安装网站程序中和seo公司
  • 简述建设iis网站的基本过程6深圳禅城网站设计
  • 广东手机网站制作公司怎样做网络推广甄选广州豪升网络
  • 企业公司网站制作建设在线数据分析网站
  • jsp做网站实例辽宁企业网站建设
  • 天天做网站广西南宁市网站制作公司
  • 企业内部网站制作psd网页模板免费下载
  • 福田网站建设方案费用泊头公司做网站
  • 怎样查看网站开发语言中国万网提供的服务和收费情况
  • 网站的规划与建设案例分析为什么建设旅游网站
  • 理财网网站开发源码h5wordpress近期文章
  • 湖北洲天建设集团有限公司网站网站建设对策
  • 某网站注册需要邮箱是怎么弄免费带后台的网站模板
  • 在哪进入网站后台西安好的互联网设计公司
  • 建物流网站温州市城市建设学校网站
  • 莱州网站建设关键字排名优化网络托管微信代运营网站开发的感想
  • 临沂网站制作案例网站服务器++免费
  • 做网站用框架么网站系统建设合同
  • 优惠券网站怎么做的软件外包公司排名前十名
  • 哪个网站做的ppt模板好有没有一种网站做拍卖厂的
  • 买源码的网站青岛网站建设模板下载
  • 西安建设厅网站网站建设平台分析
  • 佛山网站建设佛山网络推广自贡建设机械网站
  • html5微网站源码举报不良网站信息怎么做
  • 开展建设文明网站活动方案杭州网站优化搜索
  • 建设厅网站关于建筑资质合并搜索引擎优化seo公司
  • 厦门网站排名网站制作咨询公司
  • 外贸专业网站制作网站备案营业执照
  • 海南省住房和城市建设厅网站免费做一建或二建题目的网站
  • 成都官方网站建设设计制作合同模板