本篇博客会讲解力扣“1844. 将所有数字用字符替换”的解题思路,这是题目链接。
本题的解题思路是:遍历字符串,按照题目描述修改字符。
有一个需要注意的点:循环的结束条件是什么呢?是s[i] != '\0’吗?不是的,因为字符串的长度可能是奇数,那么就应该判断s[i+1]了。所以,正确的判断条件是:s]i] && s[i+1]。当然,如果你不想思考这么多,可以使用strlen求字符串长度,判断i不超过字符串长度即可。
char * replaceDigits(char * s){
for (int i = 0; s[i] && s[i + 1]; i += 2)
{
s[i + 1] += s[i] - '0';
}
return s;
}
竟然是双百,这代码可以的。
总结
本题的重点是字符串遍历,由于题目的特殊性,循环的结束条件需要同时判断下标为i和i+1是否为\0。
感谢大家的阅读!