思路感觉比较好想,但代码就有点南了,对我而言5_5
要求直接修改原数组
- 先一手遍历,过程中记一下有几个重复
chars[i] != chars[i + 1]
- 关键就是数完之后的操作,如果大于1,通过取余取整操作直接放入chars数组中
if(num > 1){
int tmp = l;
while(num > 0)
{
chars[l++] = num % 10 + '0';
num /= 10;
}
reverse(&chars[tmp], &chars[l]);
}
**注意:**不要忘记之后的反转,先取余转字符放入数组中,放入数组中的值与实际的是相反的
- 最后返回修改的字符串数组长度(这个刚开始也不大理解,看评论知道:你返回字符数组长度,然后他拿这个长度去遍历字符数组,看是否符合要求)