• July面试题整理系列(2)


    题目描述:

    给定字符串,判断是否为整数(据说4行搞定?我猜肯定要用到正则表达式吧,不懂)

    思路:

    其实这道题网上有很多种版本,但是没有一个是完整的,我这里也没有实现完整的,但是最起码一个完整的需要考虑以下情况:

    1、前导空格

    2、符号

    3、进制

    4、非法字符

    5、溢出

     1 bool StrToInt( char *pc, long &value )  
     2 {  
     3     //去掉前导空格  
     4     while( ( *pc==' ' || *pc=='	' ) && *pc != '' ) pc++;  
     5     if( *pc == '' )   return false;  
     6   
     7     //处理正负号  
     8     int sign = 1;  
     9     if( *pc == '+' || *pc == '-' )  
    10     {  
    11         if( *(pc+1) =='' ) return false;  
    12         if( *pc == '-' ) sign = -1;   
    13         pc++;  
    14     }  
    15   
    16     //处理数值  
    17     long tmp = 0;  
    18     while( *pc != '' )  
    19     {  
    20         tmp *= 10;  
    21         //++优先级比*高  
    22         if( *pc < '0' && *pc > '9' ) return false;          
    23         tmp += ( *pc++ - '0' );  
    24     }  
    25     value = tmp * sign;  
    26     return true;  
    27 }  
  • 相关阅读:
    java字符串实现正序和倒序输出
    暑假前挑战赛1—— A,B题解
    深搜
    poj 1200 Crazy Search
    poj 1840 Eqs (hash)
    Choose the best route
    一个人的旅行
    畅通工程续
    最短路基础算法
    完全背包问题
  • 原文地址:https://www.cnblogs.com/cane/p/3836763.html
Copyright © 2020-2023  润新知