题目
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、原题链接
解题报告
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;
}
总结
大水题。