美文网首页
算法——翻转字符串II

算法——翻转字符串II

作者: luweicheng24 | 来源:发表于2019-02-22 20:52 被阅读0次

描述
给定输入的字符数组,逐词翻转数组。单词被定义为不包含空格的字符串.
输入字符数组不包含前导或尾部空格,单词总是用单个空格分隔。
样例
给定 s = "the sky is blue",
翻转之后 : "blue is sky the"
挑战
你能在不分配额外空间的情况下原地解决这个问题吗?

实现:

public class Solution {
    /**
     * @param str: a string
     * @return: return a string
     */
    public char[] reverseWords(char[] str) {
        // write your code here  
        int j = str.length - 1;
        char[] newChar = reverse(str, 0, j);
        for (int i = 0; i < j; i++) {
            int start = i;
            while (i <= j && newChar[i] != 32) {
                i++;
            }
            if (i - start > 0) {
                newChar = reverse(newChar, start, i - 1);
            }
            if (i - 1 != j) {
                newChar[i] = 32;
            }
        }
        return newChar;     
    }
     public  char[] reverse(char[] str, int left, int right) {
        int length = right - left;
        char temp;
        while (left <= right) {
            temp = str[left];
            str[left] = str[right];
            str[right] = temp;
            left++;
            right--;
        }
        return str;
    }
}

相关文章

  • 小红书-翻转字符串-c++

    参考:[LeetCode] Reverse String II 翻转字符串之二

  • 算法——翻转字符串II

    描述给定输入的字符数组,逐词翻转数组。单词被定义为不包含空格的字符串.输入字符数组不包含前导或尾部空格,单词总是用...

  • 初级脚本算法

    1.翻转字符串算法挑战 实战翻转字符串算法你可以先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,...

  • W3Cschool JavaScript脚本算法编程实战 初级脚

    初级脚本算法 1. 翻转字符串算法挑战 实战翻转字符串算法 你可以先把字符串转化成数组,再借助数组的reverse...

  • LeetCode基础算法-字符串

    LeetCode基础算法-字符串 LeetCode 算法 字符串 1. 翻转字符串 编写一个函数,其作用是将输入的...

  • 【W3Cschool】初级脚本算法学习笔记

    1. 翻转字符串算法挑战 思路:str字符串存入数组,利用数组的reverse()方法翻转,再通过数组的join(...

  • Day07 JavaScript(Algorithm)

    Free Code Camp的JavaScript算法 翻转字符串(Reverse a String) 实现:先把...

  • FreeCodeCamp Basic Algorithm Scr

    FreeCodeCamp 初级算法 个人笔记,仅作留档 Reverse a String 翻转字符串先把字符串转化...

  • js算法

    排序算法 冒泡排序 快速排序 字符串操作 判断回文字符串 翻转字符串 反向遍历字符串 function reve...

  • Freecodecamp 算法题

    Freecodecamp 算法题 1. Reverse a String 翻转字符串 先把字符串转化成数组,再借助...

网友评论

      本文标题:算法——翻转字符串II

      本文链接:https://www.haomeiwen.com/subject/hhsyyqtx.html