LeetCode 101. 对称二叉树(递归循环)

1. 题目

给定一个二叉树,检查它是否是镜像对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ \2   2/ \ / \
3  4 4  3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2   2\   \3    3

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/symmetric-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

2.1 递归

class Solution {
public:bool isSymmetric(TreeNode* root) {return sym(root,root);}bool sym(TreeNode *t1, TreeNode *t2){if((!t1&&t2)||(t1&&!t2))return false;else if(!t1&&!t2)return true;elsereturn(t1->val==t2->val && sym(t1->left,t2->right)&& sym(t1->right,t2->left));}
};

2.2 循环

class Solution {
public:bool isSymmetric(TreeNode* root) {TreeNode *t1, *t2;queue<TreeNode*> q;q.push(root);q.push(root);while(!q.empty()){t1 = q.front();q.pop();t2 = q.front();q.pop();if((!t1&&t2)||(t1&&!t2))return false;else if(!t1&&!t2)continue;else//t1,t2都存在{if(t1->val != t2->val)return false;q.push(t1->left);q.push(t2->right);q.push(t1->right);q.push(t2->left);}}return true;}
};

在这里插入图片描述

《剑指Offer》同题:面试题28. 对称的二叉树

递归

class Solution {bool ans = true;
public:bool isSymmetric(TreeNode* root) {dfs(root,root);return ans;}void dfs(TreeNode* r1, TreeNode* r2){if(!ans || (!r1 && !r2))return;if((!r1 && r2)||(r1 && !r2)){ans = false;return;}if(r1->val != r2->val)ans = false;dfs(r1->left,r2->right);dfs(r1->right,r2->left);}
};

循环

class Solution {
public:bool isSymmetric(TreeNode* root) {queue<TreeNode*> q;q.push(root);q.push(root);TreeNode *r1, *r2;while(!q.empty()){r1 = q.front();	q.pop();r2 = q.front();	q.pop();if((!r1 && r2)||(r1 && !r2))return false;if(r1 && r2){if(r1->val != r2->val)return false;q.push(r1->left);q.push(r2->right);q.push(r1->right);q.push(r2->left);}}return true;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑桥大学终身教授T.S.:7大机器学习算法与应用案例

机器学习和人工智能可被应用在文本翻译、面部检测和识别、自动驾驶汽车和诸如国际象棋和围棋一类的极为复杂的控制类游戏等领域&#xff0c;其最新发展日益受到越来越高的关注。本次为大家推荐的科研项目&#xff0c;还是来自于ViaX盐趣&#xff0c;导师是来自剑桥大学计算机系…

会议交流 | 2021年全国知识图谱与语义计算大会(CCKS 2021)征稿通知

2021年全国知识图谱与语义计算大会征稿通知&#xff08;第一轮&#xff09;First Call for Full Papers2021年8月18日-21日&#xff0c;广州征稿截止: 2021年5月10日第十五届全国知识图谱与语义计算大会&#xff08;CCKS: China Conference on Knowledge Graph and Semantic Co…

美团外卖自动化业务运维系统建设

美团外卖业务在互联网行业是非常独特的&#xff0c;不仅流程复杂——从用户下单、商家接单到配送员接单、交付&#xff0c;而且压力和流量在午、晚高峰时段非常集中。同时&#xff0c;外卖业务的增长非常迅猛&#xff0c;自2013年11月上线到最近峰值突破1600万&#xff0c;还不…

把数据集刷穿是什么体验?MetaQA已100%准确率

文 | 炼丹学徒编 | 小轶开始炼丹以来&#xff0c;估计很多小伙伴都和我一样幻想过直接把数据集做到 100% 准确率&#xff0c;然后大吼一声&#xff1a;这数据集&#xff0c;我做到头了&#xff01;然而愿望终究是愿望。大多时候&#xff0c;看着自己手头上用了浑身解数才提了零…

LeetCode 116. 填充每个节点的下一个右侧节点指针(递归循环)

文章目录1. 题目2. 解题2.1 递归2.2 循环2.3 O(1)空间复杂度1. 题目 给定一个完美二叉树&#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 n…

大圣魔方——美团点评酒旅BI报表工具平台开发实践

当前的互联网数据仓库系统里&#xff0c;数据中心往往存放了大量Cube化或者半Cube化的数据。如果需要将这些数据的内在关系体现出来&#xff0c;需要写大量的程序和SQL来发现数据之间的内在规律&#xff0c;往往会造成用户做非常多的重复性工作&#xff1b;而且由于没有数据校验…

基于知识图谱的智能问答方案

基于知识图谱的智能问答方案&#xff1a;https://cloud.tencent.com/developer/article/1661504 基于知识图谱的智能问答方案2020-07-142020-07-14 15:57:50阅读 9950三个角度理解知识图谱2012年谷歌首次提出“知识图谱”这个词&#xff0c;由此知识图谱在工业界也出现得越来越…

论文浅尝 - ACL2020 | 用于实体对齐的邻居匹配网络

笔记整理 | 谭亦鸣&#xff0c;东南大学博士来源&#xff1a;ACL 20链接&#xff1a;https://www.aclweb.org/anthology/2020.acl-main.578.pdf1.介绍图谱之间的异构差异是建立实体对齐的一个主要挑战&#xff0c;本文提出了Neighborhood Match Network (NMN)&#xff0c;用于处…

LeetCode 117. 填充每个节点的下一个右侧节点指针 II(递归循环)

文章目录1. 题目2. 解题2.1 递归2.2 queue循环2.3 利用next循环1. 题目 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL。 初始状态下&#xff0c;所有 next 指针都被设置为 NULL。 类似…

美团点评境外度假团队前端项目开发实践总结

随着前端项目数量和规模越来越大&#xff0c;参与的人员也越来越多&#xff0c;如何在前端项目开发过程中保证优质的开发者体验和项目的可维护性&#xff0c;同时确保极致的用户体验将会是一个非常大的挑战。 为了应对这个挑战&#xff0c;美团点评境外度假前端研发团队自2016年…

线性代数不深入,机器学习两行泪!

我经常听到有人说&#xff0c;机器学习很难&#xff0c;到底怎么学更高效&#xff1f;其实&#xff0c;我想说&#xff0c;机器学习本身没有多大难度&#xff0c;因为经过多年的积累后&#xff0c;很多规则已经成型了。对于我们来说真正难的&#xff0c;是机器学习背后的算法所…

反爬虫机制和破解方法汇总

https://cloud.tencent.com/developer/article/1032918 什么是爬虫和反爬虫&#xff1f;爬虫&#xff1a;使用任何技术手段&#xff0c;批量获取网站信息的一种方式。反爬虫&#xff1a;使用任何技术手段&#xff0c;阻止别人批量获取自己网站信息的一种方式。常见的反爬虫机制…

论文小综 | 知识图谱表示学习中的零样本实体研究

转载公众号 | 浙大KG 本文作者| 耿玉霞&#xff0c;浙江大学在读博士&#xff0c;主要研究方向为知识图谱、零样本学习及可解释性前言随着知识图谱表示学习算法的蓬勃发展&#xff0c;在各个领域中都得到了广泛的应用&#xff0c;如推荐系统、知识问答等&#xff0c;以及知识图…

LeetCode 297. 二叉树的序列化与反序列化(前序遍历层序遍历)

文章目录1. 题目2. 解题2.1 前序遍历2.2 层序遍历1. 题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据…

互联网企业安全之端口监控

外网端口监控系统是整个安全体系中非常重要的一环&#xff0c;它就像眼睛一样&#xff0c;时刻监控外网端口开放情况&#xff0c;并且在发现高危端口时能够及时提醒安全、运维人员做出相应处理。 对安全人员来说&#xff0c;互联网公司在快速发展壮大的过程中&#xff0c;外网边…

知乎热榜:程序员达到什么水平能拿到20k月薪

昨天在知乎上刷到一个热门问题:程序员需要达到什么水平才能顺利拿到 20k 无压力&#xff1f;其中一个最热门的回答是&#xff1a;“其实&#xff0c;无论你是前端还是后端、想进大厂还是拿高薪&#xff0c;算法都一定很重要。”为什么&#xff0c;算法会如此重要&#xff1f;不…

研究综述 | 知识图谱划分算法研究综述

作者 | 王鑫&#xff0c;天津大学智能与计算学部来源 | 计算机学报知识图谱划分是大规模知识图谱分布式处理的首要工作&#xff0c;是知识图谱的分布式存储、查询、推理和挖掘的基础支撑。从知识图谱和图划分的定义出发&#xff0c;系统性地介绍当前可用于知识图谱数据划分的各…

深度学习中不得不学的Graph Embedding方法

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/64200072 深度学习中不得不学的Graph Embedding方法王喆​数据挖掘等 3 个话题下的优秀答主​关注他1,290 人赞同了该文章这里是「王喆的机器学习笔记」的第十四篇文章&#xff0c;之前已经有无数同学让我介绍一下Graph Embe…

写给新手炼丹师:2021版调参上分手册

文 | 山竹小果在日常调参的摸爬滚打中&#xff0c;参考了不少他人的调参经验&#xff0c;也积累了自己的一些有效调参方法&#xff0c;慢慢总结整理如下。希望对新晋算法工程师有所助力呀&#xff5e;寻找合适的学习率(learning rate)学习率是一个非常非常重要的超参数&#xf…

函数式编程在Redux/React中的应用

本文简述了软件复杂度问题及应对策略&#xff1a;抽象和组合&#xff1b;展示了抽象和组合在函数式编程中的应用&#xff1b;并展示了Redux/React在解决前端状态管理的复杂度方面对上述理论的实践。这其中包括了一段有趣的Redux推导。 软件复杂度 软件的首要技术使命是管理复杂…