码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer (42) 单词翻转

时间:2014-06-27 12:04:29      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   color   set   

题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符顺序不变

 

题解分析:

两次翻转:

第一次翻转整个句子

第二次解析出每个单词并将单词翻转

void reverse(char* first, char* last)
{
    assert(first != NULL && last != NULL);
    while (first < last) {
        char temp = *first;
        *first = *last;
        *last = temp;
        ++first;
        --last;
    }
}

void reverseTotal(char* str)
{
    assert(str != NULL);

    char* first = str;
    char* last  = str;
    while (*last != \0) {
        ++last;
    }
    --last;
    reverse(first, last);

    first = str;
    last = str;

   // 以空格为分隔符解析单词
    while (*first != ‘\0‘) {
        if (*first ==  ) {
            ++first;
            ++last;
        } else if (*last == ‘ ‘ || *last == ‘\0‘) {
            reverse(first, --last);
            ++last;
            first = last;
        } else {
            ++last;
        }
    }
}

 

剑指offer (42) 单词翻转,布布扣,bubuko.com

剑指offer (42) 单词翻转

标签:style   class   blog   code   color   set   

原文地址:http://www.cnblogs.com/wwwjieo0/p/3810831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!