首页 > 其他分享 >【LeeCode】557. 反转字符串中的单词 III

【LeeCode】557. 反转字符串中的单词 III

时间:2023-03-23 23:00:44浏览次数:48  
标签:String 557 Solution public LeeCode new sb III reverseWords

【题目描述】

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


【示例】

【LeeCode】557. 反转字符串中的单词 III_java


【代码】admin

package com.company;
// 2023-03-23

import java.util.*;

class Solution {
    public String reverseWords(String s) {
        String[] split = s.split("\\s+");
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < split.length; i++){
            sb.append(new StringBuilder(split[i]).reverse()).append(" ");
        }
        // System.out.println(sb.toString().trim());
        return sb.toString().trim();
    }
}


public class Test {
    public static void main(String[] args) {
        new Solution().reverseWords("Let's take LeetCode contest"); // 输出:"s'teL ekat edoCteeL tsetnoc"
        new Solution().reverseWords("God Ding"); // 输出:"doG gniD"
    }
}


【代码】leecode

package com.company;
// 2023-03-23
import java.util.*;

class Solution {
    public String reverseWords(String s) {
        StringBuilder sb = new StringBuilder();
        int len = s.length();
        int i = 0;

        while (i < len){
            int left = i;

            while (i < len && s.charAt(i) != ' '){
                i++;
            }

            for (int j = left; j < i; j++){
                sb.append(s.charAt(left + i - 1 - j));
            }

            if (i < len && s.charAt(i) == ' '){
                i++;
                sb.append(" ");
            }
        }
        System.out.println(sb.toString());
        return sb.toString();
    }
}


public class Test {
    public static void main(String[] args) {
        new Solution().reverseWords("Let's take LeetCode contest"); // 输出:"s'teL ekat edoCteeL tsetnoc"
        new Solution().reverseWords("God Ding"); // 输出:"doG gniD"
    }
}

标签:String,557,Solution,public,LeeCode,new,sb,III,reverseWords
From: https://blog.51cto.com/u_13682316/6146016

相关文章

  • 【LeeCode】1616. 分割两个字符串得到回文串
    【题目描述】给你两个字符串 a 和 b ,它们长度相同。请你选择一个下标,将两个字符串都在 相同的下标 分割开。由 a 可以得到两个字符串: aprefix 和 asuffix ,满足......
  • 动态规划(17)、337. 打家劫舍III
    题目连接:337.打家劫舍III-力扣(LeetCode)  题目分析:二叉树的后续遍历,dp[root]表示root节点的最大收益    dp[root]=max(dp[root.left]+dp[ro......
  • LeeCode刷题记录——哈希表
    根本没学过这个东西,被薄纱,直接躺板板了,抑郁的时候垂死病中惊坐起,赶紧上来记一下笔记。题目:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。评论区和官方......
  • 【LeeCode】26. 删除有序数组中的重复项
    【题目描述】给你一个 升序排列 的数组 ​​nums​​​ ,请你​​ 原地​​ 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 ......
  • 【LeeCode】207. 课程表 -- todo
    【题目描述】你这个学期必须选修 ​​numCourses​​​ 门课程,记为 ​​0​​​ 到 ​​numCourses-1​​ 在选修某些课程之前需要一些先修课程。先修课程按数组 ......
  • 【LeeCode】1122. 数组的相对排序
    【题目描述】给你两个数组,​​arr1​​​ 和 ​​arr2​​​,​​arr2​​​ 中的元素各不相同,​​arr2​​​ 中的每个元素都出现在 ​​arr1​​ 中。对 ​​arr1​......
  • LeeCode刷题记录2——有序数组的平方
    官方解法:双指针classSolution{public:vector<int>sortedSquares(vector<int>&nums){intn=nums.size();//声明变量n为数组的长度intnega......
  • LeeCode例题——二分查找
    1.二分查找:(面对一个升序排列的数组)classSoulution{public:intsearch(vector<int>&nums,inttarget){//函数名(数组,变量)intleft=0,right=nums.size()-......
  • 2023A Latest Version CAT Caterpillar ET Diagnostic Adapter III Cat Communication
    CaterpillarCommAdapterIII–diagnosticscannerinterfaceisacatgroupdealerworkshopdiagnostictoolbuilttoworkwithCaterpillarheavyvehiclesandC......
  • 代码随想录day25|组合总和III 电话号码的字母组合
    力扣题目链接(opensnewwindow)找出所有相加之和为n的k个数的组合。组合中只允许含有1-9的正整数,并且每种组合中不存在重复的数字。分析  本题就是在[1,2,3,4......