LeetCode题解:2042. 检查句子中的数字是否递增

题目

1、题目描述

  句子是由若干 token 组成的一个列表,token 间用 单个 空格分隔,句子没有前导或尾随空格。每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 ,要么是一个由小写英文字母组成的 单词 。
  示例,"a puppy has 2 eyes 4 legs"是一个由 7 个 token组成的句子:“2” 和 “4” 是数字,其他像 "puppy"这样的 tokens属于单词。
  给你一个表示句子的字符串 s,你需要检查 s中的 全部 数字是否从左到右严格递增(即,除了最后一个数字,s中的 每个 数字都严格小于它 右侧 的数字)。如果满足题目要求,返回 true ,否则,返回 false 。

2、原题链接

2042. 检查句子中的数字是否递增

解题报告

1、解题思路

在这里插入图片描述
   ( 1 ) (1) (1)枚举字符串所有元素,找到数字并与之前数比较是否是严格递增的。

2、解题方法

   字符串,枚举;

2、代码详解

bool isNumber(char c){
    return (c >= '0' && c <= '9');
}

bool areNumbersAscending(char * s){
    int size = strlen(s);
    int i, num, pre;
    pre = -1;
    for(i = 0; i <= size; ++i){
        if(!isNumber(s[i])){
            continue;
        }
        num = 0;
        while(isNumber(s[i])){
            num = num * 10 + (s[i] - '0');
            ++i;
            continue;
        }
        // printf("%d,%d\n",pre,num);
        if(pre >= num){
            return false;
        }
        pre = num;
    }
    return true;
}

总结

大水题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值