点击上方“iOS开发”,选择“置顶公众号”

关键时刻,第一时间送达!

先不说楚枫的这般年纪,能够踏入元武一重说明了什么,最主要的是,楚枫在刚刚踏入核心地带时,明明只是灵武七重,而在这两个月不到的时间,连跳两重修为,又跳过一个大境界,踏入了元武一重,这般进步速度,简直堪称变态啊。

“这楚枫不简单,原来是一位天才,若是让他继续成长下去,绝对能成为一号人物,不过可惜,他太狂妄了,竟与龚师兄定下生死约战,一年时间,他再厉害也无法战胜龚师兄。”有人认识到楚枫的潜力后,为楚枫感到惋惜。

“哼,何须一年,此子今日就必败,巫九与龚师兄关系甚好,早就看他不顺眼了,如今他竟敢登上生死台挑战巫九,巫九岂会放过他?”但也有人认为,楚枫今日就已是在劫难逃。

“何人挑战老子?”就在这时,又是一声爆喝响起,而后一道身影自人群之中掠出,最后稳稳的落在了比斗台上。

这位身材瘦弱,身高平平,长得那叫一个猥琐,金钩鼻子蛤蟆眼,嘴巴一张牙带色儿,说话臭气能传三十米,他若是当面对谁哈口气,都能让那人跪在地上狂呕不止。

不过别看这位长得不咋地,他在核心地带可是鼎鼎有名,剑道盟创建者,青龙榜第九名,正是巫九是也。

“你就是巫九?”楚枫眼前一亮,第一次发现,世间还有长得如此奇葩的人。

巫九鼻孔一张,大嘴一咧,拍着那干瘪的肚子,得意洋洋的道:“老子就是巫九,你挑战老子?”

“不是挑战你,是要宰了你。”楚枫冷声笑道。

“好,老子满足你这个心愿,长老,拿张生死状来,老子今日在这里了解了这小子。”巫九扯开嗓子,对着下方吼了一声。

如果他对内门长老这么说话,也就算了,但是敢这么跟核心长老说话的,他可真是算作胆肥的,就连许多核心弟子,都是倒吸了一口凉气,心想这楚枫够狂,想不到这巫九更狂。

不过最让人无言的就是,巫九话音落下不久,真有一位核心长老自人群走出,缓缓得来到了比斗台上,左手端着笔墨,右手拿着生死状,来到了巫九的身前。

“我去,这巫九什么身份,竟能这般使唤核心长老?”有人吃惊不已,那长老修为不低,乃是元武七重,比巫九还要高两个层次,但却这般听巫九的话,着实让人吃惊不已。

“这你就不知道了吧,巫九在前些时日,拜了钟离长老为师尊,已正式得到钟离长老的亲传。”有人解释道。

“钟离长老?可是那位性情古怪的钟离一护?”

“没错,就是他。”

“天哪,巫九竟然拜入了他的门下?”

人们再次大吃一惊,那钟离一护在青龙宗可是赫赫有名,若要是论其个人实力,在青龙宗内绝对能够排入前三,连护宗六老单打独斗都不会是他的对手。

只不过那钟离一护,如同诸葛青云一样,也是一位客卿长老,所以在青龙宗内只是挂个头衔,什么事都不管,更别说传授宗内弟子技艺了,如今巫九竟然能拜入他老人家门下,着实让人羡慕不已。

“恩怨生死台,的确可以决斗生死,但必须要有所恩怨,你们两个人,可有恩怨?”那位长老开口询问道。

1. 题目


请实现一个函数,用来判断一棵二叉树是不是对称的:如果一颗二叉树和它的镜像一样,那么它是对称的。


2. 解析


两层节点:对称的情况分析

  • 两个父节点的值对称(相等)

  • 左父节点的左子节点与右父节点的右子节点对称

  • 左父节点的右子节点与右父节点的左子节点对称

第三层节点:采用递归

根节点:根节点作为两个父节点进行输入

3. 参考


  • SymmetricalBinaryTree.cpp

include <cstdio>#include "../Utilities/BinaryTree.h"

bool isSymmetrical(BinaryTreeNode* pRoot1, BinaryTreeNode* pRoot2);

bool isSymmetrical(BinaryTreeNode* pRoot){    return isSymmetrical(pRoot, pRoot);}

bool isSymmetrical(BinaryTreeNode* pRoot1, BinaryTreeNode* pRoot2){    if(pRoot1 == nullptr && pRoot2 == nullptr)        return true;

    if(pRoot1 == nullptr || pRoot2 == nullptr)        return false;

    if(pRoot1->m_nValue != pRoot2->m_nValue)        return false;

    return isSymmetrical(pRoot1->m_pLeft, pRoot2->m_pRight)        && isSymmetrical(pRoot1->m_pRight, pRoot2->m_pLeft);}
  • BinaryTree.cpp

#include <cstdio>#include "BinaryTree.h"

BinaryTreeNode* CreateBinaryTreeNode(int value){    BinaryTreeNode* pNode = new BinaryTreeNode();    pNode->m_nValue = value;    pNode->m_pLeft = nullptr;    pNode->m_pRight = nullptr;

    return pNode;}

void ConnectTreeNodes(BinaryTreeNode* pParent, BinaryTreeNode* pLeft, BinaryTreeNode* pRight){    if(pParent != nullptr)    {        pParent->m_pLeft = pLeft;        pParent->m_pRight = pRight;    }}

void PrintTreeNode(const BinaryTreeNode* pNode){    if(pNode != nullptr)    {        printf("value of this node is: %d
", pNode->m_nValue);

        if(pNode->m_pLeft != nullptr)            printf("value of its left child is: %d.
", pNode->m_pLeft->m_nValue);        else            printf("left child is nullptr.
");

        if(pNode->m_pRight != nullptr)            printf("value of its right child is: %d.
", pNode->m_pRight->m_nValue);        else            printf("right child is nullptr.
");    }    else    {        printf("this node is nullptr.
");    }

    printf("
");}

void PrintTree(const BinaryTreeNode* pRoot){    PrintTreeNode(pRoot);

    if(pRoot != nullptr)    {        if(pRoot->m_pLeft != nullptr)            PrintTree(pRoot->m_pLeft);

        if(pRoot->m_pRight != nullptr)            PrintTree(pRoot->m_pRight);    }}

void DestroyTree(BinaryTreeNode* pRoot){    if(pRoot != nullptr)    {        BinaryTreeNode* pLeft = pRoot->m_pLeft;        BinaryTreeNode* pRight = pRoot->m_pRight;

        delete pRoot;        pRoot = nullptr;

        DestroyTree(pLeft);        DestroyTree(pRight);    }}

  • 作者:陈满iOS

  • https://www.jianshu.com/p/e933f948c784

  • iOS开发整理发布,转载请联系作者获得授权

【点击成为源码大神】

每天一个编程题·iOS开发算法提升计划(1)相关推荐

  1. 不编程也开发13个无需编程的iOS开发工具

    最近很多人都想自己开发iPhone软件, 但并非每个人都知道如何编写相关代码.还好,有很多工具可以帮助非开发人员创建自己的iPhone软件,甚至不需要编程和脚本知识.这些工具有的专为小公 司打造,有的 ...

  2. 中国电子学会图形化四级编程题:绳子算法

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...

  3. python字符串操作编程题_python开发基础02-字符串操作方法练习题

    1.执行 Python 脚本的两种方式 python解释器 py文件  #!/usr/bin/env python 进入python解释器,便捷命令并执行 pycharm或其他pythonIDE sh ...

  4. java集合笔试编程题_Java 基础算法及编程笔试题集合

    1. 斯诺克台球共有15个一分球,2,3,4,5,6,7分球各一个,规则是先打一个最低分球,然后可以打一个其他分值的球,如此反复,如果台面还有更低分值的球,打入的高分球计分,同时拿出来放回原位置,要求 ...

  5. 【王道数据结构编程题】- 二叉树算法题

    目录 1.已知一颗二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个节点的最近的公共祖先节点的值. 2.编写后序遍历的二叉树的非递归算法 3.试给出二叉树的自下而上,从右到左的层次遍 ...

  6. 小甲鱼关于push,pop指令的一个编程题

    编程: (1)将10000H~ 1000FH这段空间当作栈,初始状态是空的; (2)设置AX=001AH,BX=001BH ; (3)将AX.BX中的数据入栈; (4)然后将AX.BX清零; (5)从 ...

  7. iOS开发备战金三银四·头条三面记录

    一面 一.自我介绍 简单介绍一下你自己吧 解析:简单介绍下自己的名字,教育背景,现在的工作,做过的项目 二.自我介绍衍生的口头问题 讲讲下你在你项目中做过的优化或者技术难点 解析:介绍了自己封装的一个 ...

  8. 我所理解的iOS开发高手

    推荐:程序员简历怎么写才好?免费修改简历!! 上周日很荣幸参加了逻辑教育在深圳举办的iOSer线下沙龙,还有点意思.不仅遇到了一群激情满满又非常上进的iOS开发者,也认识几个风趣幽默.奇奇怪怪的逻辑教 ...

  9. 零基础学习 iOS 开发

    作者:匿名用户 链接:https://www.zhihu.com/question/22000647/answer/114700565 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

最新文章

  1. linux node安装
  2. php xlsx里插入图片_常见的 PHP 面试题和答案分享
  3. 完全相同的4个小矩形如图所示放置_分享 | 你想知道的100个桥梁知识点!
  4. 计算机考试换机密码,Ami换机,让你轻松转移手机资料!
  5. Imgproc.findContours函数
  6. 诺基亚7P可刷华为鸿蒙系统,今日热闻 | 鸿蒙OS 2.0发布、EMUI 11发布、iPhone 12或配备7P镜头...
  7. GNU make manual 翻译(六十六)
  8. ISL68124与PMBUS
  9. Android6.0之AMS启动
  10. APEX 文件格式学习记录
  11. 【高数】高数第七章节——微分方程概念一阶微分方程高阶微分方程
  12. chrome没有注册类解决
  13. baseservlet怎么写_BaseServlet
  14. 云通讯这局棋,声网、容联云怎么破?
  15. python爬虫(四)cookie模拟登录和反反爬案例
  16. 同花顺程序交易接口实现类
  17. Unity任意轴向朝向某目标实现LookAt功能
  18. ServerSocket和Socket连接
  19. 身份证号码校验java
  20. ckplayer 网页视频播放

热门文章

  1. leet70:爬楼梯
  2. 2022年AI领域有哪些重要突破?(附报告全文)
  3. ORACLE SQL 查询练手
  4. 【USACO题库】3.2.4 Feed Ratios饲料调配
  5. 第一章:计算机的软硬件基本结构_4
  6. Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL ser
  7. python在图片上画矩形
  8. B05 - 008、什么是大数据
  9. 手表无线充电控制芯片方案的原理分析主控SOP8外置挂个AO3400或SI2302
  10. 出现单实例模式毁坏Destroying singletons