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

宣传京津风筝网站的建设目的室内设计师优秀简介

宣传京津风筝网站的建设目的,室内设计师优秀简介,公司网站建设记哪个科目,在线logo制作免费给你一棵二叉树,请你返回满足以下条件的所有节点的值之和: 该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。) 如果不存在祖父节点值为偶数的节点,那么返回 0 。 示例: 输入…

给你一棵二叉树,请你返回满足以下条件的所有节点的值之和:

该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。)
如果不存在祖父节点值为偶数的节点,那么返回 0 。

示例:

在这里插入图片描述

输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]
输出:18
解释:图中红色节点的祖父节点的值为偶数,蓝色节点为这些红色节点的祖父节点。

提示:

树中节点的数目在 1 到 10^4 之间。
每个节点的值在 1 到 100 之间。

法一:直接递归模拟即可:

/*** 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 {
public:int sumEvenGrandparent(TreeNode* root) {int ans = 0;findAns(root, false, false, ans);return ans;}private:void findAns(TreeNode *node, bool isEvenFather, bool isEvenGrandFather, int &ans){if (node == nullptr){return;}if (isEvenGrandFather){ans += node->val;}findAns(node->left, !(node->val & 1), isEvenFather, ans);findAns(node->right, !(node->val & 1), isEvenFather, ans);}
};

如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(logn)。

法二:广度优先搜索,每遍历到一个偶数节点,将其孙子节点的值加上:

/*** 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 {
public:int sumEvenGrandparent(TreeNode* root) {queue<TreeNode *> q;q.push(root);int ans = 0;while (!q.empty()){TreeNode *node = q.front();q.pop();if (!(node->val & 1)){if (node->left){if (node->left->left){ans += node->left->left->val;}if (node->left->right){ans += node->left->right->val;}}if (node->right){if (node->right->left){ans += node->right->left->val;}if (node->right->right){ans += node->right->right->val;}}}if (node->left){q.push(node->left);}if (node->right){q.push(node->right);}}return ans;}
};

如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(logn)。

http://www.yayakq.cn/news/323251/

相关文章:

  • 网站开发九大优势合浦网站建设
  • 网站动态标签网站建设课设心得
  • 做培训的网站搜索量排名
  • 网站后台不能粘贴建筑服务类网站
  • 石嘴山网站seo网站活动推广方案
  • 赶集网站建设多少钱学习网页制作的网站
  • 电子类网站建设需要多少钱鹰潭建设网站
  • 外贸开发产品网站模板百度app常用网址在哪里
  • 阿里巴巴网站开发是谁购物网站开发教程 视频
  • 网站修改后怎么上传wordpress文章页面添加打赏
  • 清溪网站建设公司数据分析师报考条件
  • 网站设计与制作是做什么工作网站建设的图片怎么加水印
  • 建筑网站编辑工作内容注册安全工程师报考条件及时间
  • 电子商务网站建设商城网站东莞机械网络推广
  • 设计模板免费网站网络营销策划书的结构
  • 提供网站备案建设服务挣外快的正规平台
  • 互联网站是不是自媒体平台东莞小程序建设
  • 网站建设与维护 课件建站seo赚钱
  • 不用编程做APP和响应式网站郑州航空港区建设局网站
  • 农村网站建设茂名做金融行业网站
  • 简单房地产网站在哪网站报价文档
  • 品牌网站建设工作室手机端什么可以替代迅雷
  • 做美团网站多少钱公司网站 开源
  • 中国广告设计网站从零开始学编程
  • 免费网站推广平台网架制造厂
  • 模板网站开发注意事项数字营销课程
  • eclipse 做网站建筑工程网络计划图中怎样算总工期
  • 万网公司注册网站可画设计软件下载
  • 有个新网站专门做外贸的叫什么宁波seo全网营销
  • 天津单位网站建设ip营销的概念