zoukankan      html  css  js  c++  java
  • 在一个字符串中找到第一个只出现一次的字符

    题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。

     1 const int N = 256 ;
     2 void Function( char * str , int * hash )
     3 {
     4     char * p = str ;   
     5     while( *p )
     6     {
     7         hash[ *p ]++ ; //自增       
     8         p++ ;         
     9     }  
    10   p = str;
    11     while( *p ) //扫描第二遍,当扫描都出现次数为1的字符,即停止 
    12     {
    13         if( hash[ *p ] == 1 )
    14         {
    15             cout << *p ;
    16             break; 
    17         }
    18         p++ ;         
    19     }      
    20 }
    21 
    22 int main( )
    23 {
    24      char str[ ] = "wabacckdeffbz" ;
    25      int  hash[ N ] ;
    26      memset( hash , 0 , sizeof( hash ) ) ;  /*  memset库函数<cstring>,作用是将hash中
    27                         前sizeof( hash )在这里即N个字节替换为0并
    28                         返回a;其实这一句是对hash[]做初始化,相当
    29                         于hash[N]={0},第一个元素手动设为0,
    30                         其余元素自动默认设为0*/
    31      Function( str , hash ) ;
    32      return 0 ;    
    33 }
  • 相关阅读:
    Dubbo-admin管理平台搭建
    Zabbix监控Zookeeper健康状况
    Redis-stat 的安装与使用
    Jenkins配置基于角色的项目权限管理
    云计算的三种服务模式:IaaS,PaaS和SaaS
    PRC远程过程调用
    解决linux中ssh登录Warning:Permanently added (RSA) to the list of known hosts
    Maven仓库—Nexus环境搭建及使用
    SecureCRT使用本地公钥 SSH 免密码登录Linux
    Linux内存管理机制
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2435457.html
Copyright © 2011-2022 走看看