九度OJ 教程36 排序二叉树的建立与比较是否相同。
来源:互联网 发布:下载流星网络电视 编辑:程序博客网 时间:2024/06/02 04:33
题目地址:http://ac.jobdu.com/problem.php?cid=1040&pid=35
//九度OJ 教程36 排序二叉树的建立与比较是否相同。//http://ac.jobdu.com/problem.php?cid=1040&pid=35#include <stdio.h>#include<string.h>#include<malloc.h>typedef struct tt{char data;struct tt *l,*r;}tt,*tp;int flag;//全局变量,标记排序树是否相等。void tfree(tt *root){if(root==NULL)return;tfree(root->l);tfree(root->r);free(root);}int comp(tt *root,tt *root1){if(root==NULL&&root1==NULL)return 1;if(root==NULL||root1==NULL)return 0;//由于上个语句有return 1,则这个如果成立的话便是有且只有一个为NULL。if(root->data!=root1->data)return 0;return ((comp(root->l,root1->l))&&(comp(root->r,root1->r)));}int main(){int n;tp root=NULL,root1=NULL;tp p=NULL,q2=NULL,q1=NULL;int i,j,k,l;char hh[10];while(~scanf("%d",&n)&&n){root=(tt *)malloc(sizeof(tt));scanf("%s",hh);l=strlen(hh);root->l=root->r=NULL;root->data=hh[0];for(i=1;i<l;i++){q1=NULL;q2=root;p=(tt *)malloc(sizeof(tt));p->l=p->r=NULL;p->data=hh[i];while(q2!=NULL){if(p->data>q2->data){q1=q2;q2=q2->r;}else{q1=q2;q2=q2->l;}}if(p->data>q1->data){q1->r=p;}else q1->l=p;}for(j=0;j<n;j++){root1=(tt *)malloc(sizeof(tt));scanf("%s",hh);l=strlen(hh);root1->l=root1->r=NULL;root1->data=hh[0];for(i=1;i<l;i++){q1=NULL;q2=root1;p=(tt *)malloc(sizeof(tt));p->l=p->r=NULL;p->data=hh[i];while(q2!=NULL){if(p->data>q2->data){q1=q2;q2=q2->r;}else{q1=q2;q2=q2->l;}}if(p->data>q1->data){q1->r=p;}else q1->l=p;}flag=comp(root,root1);if(flag)printf("YES\n");else printf("NO\n");tfree(root1);}tfree(root);}return 0;}
- 九度OJ 教程36 排序二叉树的建立与比较是否相同。
- 九度OJ 教程35 排序二叉树的建立与遍历。
- 二叉搜索树的建立与遍历 九度oj
- 九度题目36:二叉搜索树(判断是否是相同二叉搜索树)
- 九度OJ 1009: 二叉搜索树 两棵树的判等+二叉搜索树的建立
- 比较两棵二叉树是否相同
- 比较两个二叉树是否相同
- 比较两个二叉树是否相同
- 九度OJ 教程34 (完全二叉树)树的查找
- 【二叉树4】比较两个二叉树的结构是否相同
- 二叉树的建立与遍历(山东理工OJ)
- 二叉树是否相同
- Same Tree--比较两个二叉树是否相同
- 【leetcode】比较两棵二叉树是否相同(Same Tree)
- 判断是否相同的二叉搜索树
- 九度oj 题目1350:二叉树的深度
- 九度oj 1521 二叉树的镜像
- 九度OJ-题目1521:二叉树的镜像
- 创建和运行长时间运行的工作流(一)
- 2013寒假练习 1054 Largest prime factor
- zju2005排名_结构体
- 勤学如初起之苗,不见其增,日有所长;辍学如磨刀之石,不见其损,日有所亏。
- Java Jar 命令
- 九度OJ 教程36 排序二叉树的建立与比较是否相同。
- Impala学习--Impala概述
- HTML中的列表和框架
- 给DataList分页有两个办法:1、自定义实现分页方法 2、用第三方控件(例如AspNetPager)
- 随笔,台湾香港大陆词汇差异
- 为什么不开发Linux游戏
- swap的异或实现办法
- Releationships that Drive Service Management
- Linux开机启动(bootstrap)