剑指offer-字符串转化成整数

原创 2015年08月23日 10:48:48

题目:把一个字符串转换成整数

分析:这个题目不难,难点在于输入的判定,目标是,任何输入都有正确的转化值和返回值。

测试会出现的问题有;

1.空指针。返回值是0,status为0

2.区分空指针和“0”,通过设置全局变量来区分。 0的返回值是0 status是1

3.非法输入,除了正负号。返回值是0 status是1.

不要忘记askII 到数字还要减去‘0’

int status=0;

int strTointAll(char *pp,int minus);
int strTointAll(char *pp,int minus)
{
    int num=0;
    char *p=pp;
    while (*p!='\0') {
        if (*p>'9'|| *p<'0') {
            status=1;
            num=0;
            break;
        }
        num=num*10+*p-'0';
        p++;
    }
    if (minus==1) {
        num=num*(-1);
    }
    return num;
}
int strToint(char *str)
{
    char *p=str;
    int num=0;
    int minus=0;
    if (p!=NULL && *p!='\0') {
        if (*p=='+') {
            p++;
        }
        if (*p=='-') {
            p++;
            minus=1;
        }
        if (*p!='\0') {
            num=strTointAll(p, minus);
        }
    }
    
    
    return num;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

【剑指offer-Java版】49把字符串转换为整数

字符串转换为整数 : atoi可能的输入: 1 带符号数 2 无符号数 3 零 4 空指针 5 超出表示范围 – 暂时仅仅是直接退出且设置最小 – 可以考虑此时抛个异常 6 非法输入,比如...
  • Sugar_Z_
  • Sugar_Z_
  • 2016年04月27日 09:48
  • 869

《剑指Offer》面试题:将字符串转换为整数

题目 题目:把字符串转化为整数 ,若输入无效,则返回0且将标志位设为true 自己以前在一些书上面看到过关于 字符串转化为整数的例子,心中有点印象,知道要考虑一些特殊情况。今天决定写下这段代码,...
  • u010412719
  • u010412719
  • 2015年08月30日 20:02
  • 1503

【剑指Offer学习】【面试题54:表示数值的字符串】

题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例子说明  例如,字符串“+100”,“5e2”,“-123”,“3.1416”及”-1E-16”都表示数值,但“12e”,”1a3....
  • DERRANTCM
  • DERRANTCM
  • 2015年07月10日 08:14
  • 2710

剑指offer面试题28:字符串的排列 Java实现

题目: 输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab,cba. 算法分析: 我们求...
  • gg543012991
  • gg543012991
  • 2016年09月14日 19:42
  • 600

【剑指offer】字符串的排列

昨晚折腾了一个晚上,连这一道题目都没AC,太受打击了!这里倒不是算法的问题,主要是既要考虑输出的字符串按字典序排列,又要去掉重复的字符串。本想直接在不保存所有字符串的前提下,直接按照要求输出字符串,但...
  • mmc_maodun
  • mmc_maodun
  • 2014年05月21日 08:22
  • 3407

剑指offer:字符串的排列(java)

题目:输入一个字符串,打印出该字符串中字符的所有排列。 例如输入字符串abc,则打印由字符a,b,c所能排列出来的所有字符串:abc,abc,bac,bca,cab,cba   我们求整个字符串的...
  • abc7845129630
  • abc7845129630
  • 2016年10月03日 22:39
  • 498

剑指offer43--字符串转化成整数

实现一个函数stringToInt,实现把字符串转换成整数这个功能,不能使用atoi或者其他类似的库函数。...
  • jinhuoxingkong
  • jinhuoxingkong
  • 2016年07月10日 12:06
  • 589

《剑指offer》:[49]把字符串转化成整数

题目:把字符串转换为整数,也就是实现atoi()。        类似还有itoa(),将整数数转化为字符串,相反的过程。此题虽然简单,但是就像高考一样,简单的题不一定能做对,能做对的不一定能得分。...
  • gogoky
  • gogoky
  • 2016年06月25日 15:24
  • 1867

牛客网刷题--剑指offer(两个栈实现队列)

牛客网给出的题目要求是用两个栈数据结构实现一个队列的push和pop操作。 两个栈实现队列这是很好理解的。因为栈的特性是后进先出(LIFO),而队列的特性是先进先出(FIFO),那两个栈连在一块儿,...
  • liu_sheng_1991
  • liu_sheng_1991
  • 2016年06月29日 17:56
  • 411

剑指Offer-字符串

替换空格题目描述请实现一个函数,将一个字符串中的空格替换成 “%20”。例如,当字符串为 We Are Happy. 则经过替换之后的字符串为 We%20Are%20Happy。 时间限制:1 秒 空...
  • surp2011
  • surp2011
  • 2016年12月27日 15:11
  • 219
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:剑指offer-字符串转化成整数
举报原因:
原因补充:

(最多只允许输入30个字)