`
Ilovejava1
  • 浏览: 17658 次
  • 性别: 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):用于修改机票信息的标签。 ...

    OnlineJudge系统的设计开发

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

Global site tag (gtag.js) - Google Analytics