hdu 3791(动态内存的释放问题)未解决
2011-10-12 12:12
295 查看
View Code
#include<stdio.h> #include<string.h> #include<stdlib.h> struct node{ char num; struct node *left; struct node *right; // node():left(NULL),right(NULL){} }; node *build(node *root,char ch) { if(root==NULL) { root=new node; root->left=NULL; root->right=NULL; root->num=ch; return root; } else { if(ch < (root->num)) root->left=build(root->left,ch); else root->right=build(root->right,ch); return root; } } bool is_same( node*Main_tree, node*sub_tree) { if( Main_tree== NULL || sub_tree== NULL)return true; if( Main_tree->num!= sub_tree->num) { return false; }else{ if( is_same( Main_tree->left, sub_tree->left) ) { return is_same( Main_tree->right, sub_tree->right); }else{ return false; } } } void destory(node *root) { if(root!=NULL) { if(root->left!=NULL) {root->num; destory(root->left);} delete root;{root->num;} if(root->right!=NULL) {root->num; destory(root->right);} } } void DeleteTree( node *Root) { struct node *pointer=new node; pointer=Root; if(pointer!=NULL) { DeleteTree(pointer-> left); delete pointer; DeleteTree(pointer-> right); } } int main() { int n; int i,j; char str[20]; while(scanf("%d",&n),n) { node *tree1=NULL,*tree2=NULL; //tree1=new node; if(tree1!=NULL) printf("!=null"); scanf("%s",str); int len=strlen(str); for(i=0;i<len;i++) { tree1=build(tree1,str[i]); } for(i=0;i<n;i++) { scanf("%s",str); len=strlen(str); for(j=0;j<len;j++) tree2=build(tree2,str[j]); if(is_same(tree1,tree2)) printf("YES\n"); else printf("NO\n"); // destory(tree2); DeleteTree(tree2); } destory(tree1); } return 0; } /* 2 567432 576342 543267 */
相关文章推荐
- hdu 3791(动态内存的释放问题)未解决
- 初学c++,释放动态数组内存出现的问题解决
- 『转』linux释放内存脚本,解决ubuntu老是死机问题
- IE浏览器IFrame对象内存不释放问题解决方法
- 一个JS图片放大镜,实现动态记录的图片放大,避免内存泄露,解决IE6下无法遮盖select控件问题
- 解决IE浏览器IFrame对象内存不释放问题
- C语言使用回调函数解决内存申请和释放的问题
- Android下Activity结束(finish())之后没有释放内存问题的解决方法
- lucene大数据量的动态更新问题解决方式. 用内存
- Android下Activity结束(finish())之后没有释放内存问题的解决方法初探
- Android使用多进程方式,解决Webview内存难释放的问题
- IE浏览器IFrame对象内存不释放问题解决方法
- Android之Activity结束(finish())之后没有释放内存问题的解决方法
- GDI对象错误:CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法
- 记一次解决缓存不释放导致内存耗光问题
- 如何解决Qt 4GUI程序中动态创建内存的泄露问题
- linux释放内存脚本,解决ubuntu老是死机问题
- 【C/C++开发】C语言 DLL(动态链接库)中申请动态内存释放的问题
- 动态Web Service调用,解决内存回收基本问题...
- 应用模板类解决临时内存的释放问题