zoukankan      html  css  js  c++  java
  • Phone List --字典树

    题目

    刚开始定义node 变量,之后删除时出现run error ,之后问了别人, 知道 delete 只能删除堆的内存,所以定义了node *root=new node ,AC了。

    :new 和delete 只能用堆里的内存 即new 的内存

    再就是注意建完一次树之后就删了建的树。要不内存超出。。。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    bool flag;
    typedef struct node {
         int cnt;
         struct node *next[10];
         node()
         {
              memset(next,NULL,sizeof(next));
              cnt=0;
         }
    }node ;
    char s[20];
    
    void buildtrid(node *root)
    {
         node *p=root;
         int l=strlen(s);
         node *tmp;
         for(int i=0;i<l;i++)
         {
              if(p->next[s[i]-'0']==NULL)
              {
                   tmp=new node;
                   p->next[s[i]-'0']=tmp;
              }
              p=p->next[s[i]-'0'];
              if(p->cnt!=0)
                   flag=false;
         }
         for(int i=0;i<10;i++)
              if(p->next[i]!=NULL)
              {
                   flag=false;
                   break;
              }
         p->cnt++;
    }
    void del(node *root)
    {
         for(int i=0;i<10;i++)
         {
              if(root->next[i])
                   del(root->next[i]);
         }
         delete root;
    }
    int main()
    {
         int n,m;
         scanf("%d",&n);
         while(n--)
         {
              flag=true;
              node *root=new node;
              scanf("%d",&m);
              while(m--)
              {
                   scanf("%s",s);
                   if(!flag)continue;
                   buildtrid(root);
              }
              if(flag)
                   printf("YES
    ");
              else
                   printf("NO
    ");
              del(root);
         }
         return 0;
    }
  • 相关阅读:
    MySQL集群常见高可用方案(转)
    upsource使用
    Hystrix 使用
    astah UML 先画图、后编程
    java ThreadLocal 使用
    Java基础 Annotation使用
    LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置
    招聘求职学习
    Rotate List 面试题
    vue前台(四点二)
  • 原文地址:https://www.cnblogs.com/WDKER/p/5501351.html
Copyright © 2011-2022 走看看