zoukankan      html  css  js  c++  java
  • 数组和字符串//反转字符串中的单词 III

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

    示例 1:

    输入: "Let's take LeetCode contest"
    输出: "s'teL ekat edoCteeL tsetnoc" 
    

    注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

    class Solution {
        public String reverseWords(String s) {
            char[] buffer = s.toCharArray();
            int length = buffer.length;
            int left = 0, right = 0;
            boolean last;
            for(int i = 0; i < length; i++){
                last = i == length-1;
                if(buffer[i] == ' '||last){
                    left = right;
                    right = i-(last?0:1);
                    for(;left<right;left++,right--){
                        char temp = buffer[left];
                        buffer[left] = buffer[right];
                        buffer[right] = temp;
                    }
                    right = i+1;
                }
            }
            return new String(buffer);
        }
    }
    class Solution {
    public:
        string reverseWords(string s) {
            int i = 0, j = 0;
            string res;
            while(j < s.length()){
                if(j != s.length()-1){
                    if(s[j] != ' ') j++;
                    else{
                        for(int k = j-1; k >= i; k--) res += s[k];
                        res += ' ';
                        j++;
                        i = j;
                    }
                }else{
                    for(int k = j; k >= i; k--) res += s[k];
                    break;
                }
            }
            return res;
        }
    };
  • 相关阅读:
    PHP笔试题
    找工作的几种方式
    ThinkPHP3.2.3学习笔记5---模板(一)
    PHP7新特性
    了解Web Uploader
    什么是云购网
    使用PDO操作数据库的好处
    MySQL与MongoDB的区别
    显示和编辑注解
    自定义验证逻辑
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602325.html
Copyright © 2011-2022 走看看