`
Ilovejava1
  • 浏览: 17550 次
  • 性别: Icon_minigender_2
文章分类
社区版块
存档分类
最新评论

【TOJ 5435】数据结构实验:对称二叉树

阅读更多

 

 本文转载自:http://www.itdaan.com/blog/2018/05/05/d085905b8b25b3947fe6523cc2dd9fb3.html

描述

判断一棵二叉是否关于根节点对称(镜像对称)。

比如下图中左边二叉树是对称的,右边则是非对称的。

输入

输入为若干个整数(不超过512)表示一棵二叉树顺序表示时的结点元素值,其中0表示二叉树对应结点为空。输入以-1结束。 

输出

如果对称输出Yes,否则输出No。

样例输入

1 2 2 3 4 4 3 -1

样例输出

 Yes

 

#include<bits/stdc++.h>
using namespace std;
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
};

int jud(struct TreeNode*left,struct TreeNode*right)
{
    if(!left&&!right)
        return 1;
    if(!left||!right)
        return 0;
    if(left->val!=right->val)
        return 0;
    return jud(left->left,right->right)&&jud(left->right,right->left);
}
int isSymmetric(struct TreeNode* root)
{
    if(!root)
        return 1;
    return jud(root->left,root->right);
} 

TreeNode*creat()
{
    int front=1,rear=0,x;
    TreeNode*qu[1005],*t,*root=NULL;
    while(scanf("%d",&x)!=EOF,x!=-1)
    {
        if(x==0)
            t=NULL;
        else
        {
            t=new TreeNode;
            t->val=x;
            t->left=NULL;
            t->right=NULL;
        }
        qu[++rear]=t;
        if(rear==1)
            root=t;
        else
        {
            if(t&&qu[front])
            {
                if(rear%2==0)
                    qu[front]->left=t;
                else 
                    qu[front]->right=t;
            } 
            if(rear%2==1)
                front++;
        } 
    }
    return root;
}
int main()
{
    TreeNode*x=creat();
    if(isSymmetric(x))
        printf("Yes\n");
    else 
        printf("No\n");
    return 0;
}
分享到:
评论

相关推荐

    TOJ习题:《数据结构》-邓俊辉-清华大学1

    在本题目中,我们面临的是两个不同的编程挑战,一个是数据结构相关的“范围查询”问题,另一个是基于游戏规则的“祖玛”问题。 首先,让我们深入理解“范围查询”问题。这个问题涉及到在数轴上的一组整数点,我们...

    toj程序代码

    由于没有具体题目描述,我们无法深入讨论细节,但可以推测这可能涉及到基础的数据结构(如数组、链表、栈或队列)、搜索算法(如深度优先搜索DFS或广度优先搜索BFS)或者数学问题。 2. **2542.cpp**:同样,这可能...

    toj-dev:新版TOJ是一个Virtual onlinejudge,支持主流不同OJ并支持不同比赛 ,题目tag,题目推荐等功能

    新TOJ是支持不同OJ和竞赛的虚拟在线裁判。 此外,它还具有更多功能,例如问题标记,问题推荐等。 现在,它支持POJ,HDOJ,ZOJ,Ural,UVALive,SGU和TOJ。 前端是用Node.js编写的,而判断器是用C ++编写的。 现在...

    toj题目

    toj离线版!!!!!!!!!!!

    CSharpt ToJ ava Converter 22.4.20 完美版

    在转换过程中,需要确保这些元数据能够正确地迁移。 12. **编译器特性**:C#的Roslyn编译器提供了丰富的API,而Java有Javac。转换工具可能需要利用这些编译器特性来确保代码的正确性。 通过【CSharp to Java ...

    ACM练习计划 适合于初学时

    - 数据结构:数组、链表、树、图等。 - 算法基础:排序、搜索、递归、动态规划等。 - 编程语言:选择一种熟悉的编程语言进行深入学习,如C++或Java。 #### 三、练习计划详解 根据题目分类,我们将训练计划分为以下...

    final_toj

    【标题】"final_toj" 是一个与编程竞赛相关的项目,很可能是指“TopCoder 最终挑战赛”的某个问题集或解决方案。在这个项目中,我们看到一个名为 "final_toj-master" 的压缩包,通常在开源社区中,"master" 分支指的...

    ACM.zip_www .acm 1024.com

    2. **数据结构**:包括链表、树、图、堆、队列、栈等,这些是解决ACM问题的基础。题目中提到的"graph"(图)和"BFS"(广度优先搜索)表明解题可能需要理解图的遍历方法。 3. **算法**:除了基础的排序和搜索算法,...

    MIAC-tfcisOJ:检查TOJ页面中的问题是否被接受

    To check if the problems in the page of TOJ are Accepted. Usage Click " Download ZIP " Right click the file and do "解压缩至此" Then, open the folder. Open " execute " with text editor(右键编辑...

    在线精选OJ介绍

    它们主要用于国际大学生程序设计竞赛(ACM-ICPC)和信息学奥林匹克竞赛(OI)的自动判题和排名,如今已广泛应用到编程训练、竞赛训练和选拔、数据结构与算法学习等多个领域。 OJ系统对提交的程序设置了一系列限制,...

    利用Python登录学校OJ爬取AC代码

    1. **网站结构分析**:通过观察网页结构,确定需要爬取的信息所在的标签和路径。 2. **登录机制**:了解网站的登录机制,尤其是如何提交登录表单以及登录后如何保持会话状态。 3. **数据提取**:确定需要爬取的数据...

    在线online judge

    对于那些想要深入理解算法和数据结构的学生来说,URAL是一个非常好的资源。 **俄罗斯萨拉托夫国立大学OnlineJudge(SGU)** - **网址**: http://acm.sgu.ru/ - **特点**: SGU是一个相对较新的平台,但其在线评测...

    leetcode中国-fuck_offer:fuck_offer

    leetcode中国 Fuck Offer ACMer & JudgeOnline POJ : 北京大学Online Judge ...SGU,TOJ,SPOJ都适合区域赛的ACMer训练冲金 USACO : USACO是美国中学生的官方竞赛网站 CodeForces : Codefores是俄罗斯

    ACM推荐书籍与培训计划(强烈推荐!!!!!!)

    4. **深度学习与实践**:随着技能的提升,尝试解决一些涉及复杂数据结构和算法的题目,如“2^xmodn=1”、“Skew Binary”等,这些题目往往需要深入的理论知识和创新思维。 5. **竞赛模拟与团队合作**:参加模拟比赛...

    FCKeditor 多种格式视频上传显示修改版 可创建中文目录

    http://home.iopq.com/attachment/201010/13/685312_12869583726TOJ.jpg http://home.iopq.com/attachment/201010/13/685312_1286959310hf4Z.jpg 这是我研究了一周之后的成效,所以有点贵哦!不过相信需要的朋友...

    采用API函数和PictureBox自制的旋转图像控件

    2、方法:除一般运行方法外,配置了Refresh、picPaintPicture、picPoint、picPset、openPicFile (PicFile As String)、PicRotate(ToJ As Single)。尤其后两种,可设置打开的图片文件以及图片旋转角度。应用方法示例...

    国际机票基础知识..ppt

    * 折返缺口:TOJ 机票相关概念 旅费证 (MCO):连续客票。 乘机联 (Conjunction ticket):一种特殊的机票,允许旅客在不同的航空公司之间转机。 订座更改标签 (Revalidation Sticker):用于修改机票信息的标签。 ...

    四川大学2009年暑期ACM集训计划

    - 《数据结构与算法》(傅清祥、王晓东编著):被誉为是最好的算法教材之一。 - 《程序设计导引及在线实践》(李文新著)。 - 《ACM程序设计培训教程》(吴昊著)。 - 《算法艺术与信息学竞赛》第二版(刘汝佳著...

    OnlineJudge系统的设计开发

    对于信息学奥林匹克竞赛(IOI)、全国青少年信息学奥林匹克竞赛(NOI)等赛事而言,这样的系统能有效促进学生的实践操作能力,使其掌握数据结构和算法知识,进而为计算机科学领域的高等教育和科研工作输送人才。...

Global site tag (gtag.js) - Google Analytics