C语言/557.(反转字符串中的单词III) Reverse Words in a String III

先上题目



思路:循环读取数组,判断是否读到空格符号(注意:当为最后一个单词时会读取到‘\0’),设置两个标签分别标记每个单词的头部和尾部。头尾标签同逐个向中间移动交换字符。


代码部分

char* reverseWords(char* s) {
    int i,left,right,len;
    char temp;
    left=0;
    len=strlen(s);
    for(i=0;i<=len;i++){
         if(s[i]==' '||s[i]=='\0'){
            right=i-1;
            while(left<right){
                temp=s[left];
                s[left]=s[right];
                s[right]=temp;
                left++;
                right--;
            }
            left=i+1;
        }
    }
    return s;
}

猜你喜欢

转载自blog.csdn.net/qq_38959715/article/details/80920150