保持单词之间的空格位数不变,而不是简单的分割字符串后再分别反转

public class MyReverseWords {public static void main(String[] args) {String str = "how are     you   ?  ";char[] chars = str.toCharArray();reverseWords(chars);System.out.println(new String(chars));}/*** 将字符数组的单词分别反转,并保持空格间距不变* 如how are     you   ?==>ohw rae     oyu   ?* @param chars*/public static void reverseWords(char[] chars) {int begin = -1;int end = 0;for (int i = 0; i < chars.length; i++) {char c = chars[i];if (c != ' ') {//判断是否为单词,如果是,则标记if(begin == -1){begin = i;end = i;}else{end = i;reverseChars(chars, begin, end);}}else{//一个单词结束,进行反转操作if(begin != -1){reverseChars(chars, begin, end);}begin=-1;//end = 0;}}}/*** 反转字符数组的指定范围* @param chars* @param begin* @param end*/public static void reverseChars(char[] chars , int begin , int end){while(begin < end){char swap = chars[begin];chars[begin] = chars[end];chars[end] = swap;begin++;end--;}}}

java实现字符串中的单词分别反转,如how are you ?==ohw rae oyu ?相关推荐

  1. java翻转字符串中的单词

    效果: 输入: "java and python" 输出: "avaj dna nohtyp" 代码: 版本1: 不考虑字符串开头有空格,单词间有多个空格空格的 ...

  2. 从零单刷Leetcode(JAVA描述)—— 557. 反转字符串中的单词 III

    链接:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格 ...

  3. LeetCode-字符串-反转字符串中的单词 II

    557. 反转字符串中的单词 III class Solution {public:string reverseWords(string s) {s+=' '; //为了让最后一个单词进入循环stri ...

  4. 557. 反转字符串中的单词 III

    557. 反转字符串中的单词 III 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例: 输入:"Let's take LeetCode cont ...

  5. 反转字符串中的单词 III leetcode

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode contest" 输出: &q ...

  6. 557. 反转字符串中的单词 III golang 数组和字符串反转

    题目 189.反转数组 557. 反转字符串中的单词 III 557. 反转字符串中的单词 III LeetCode链接 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初 ...

  7. leetcode557. 反转字符串中的单词 III

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例: 输入:"Let's take LeetCode contest" 输出:" ...

  8. leetcode557. 反转字符串中的单词 III python,处理字符串的神!

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode contest" 输出: &q ...

  9. LeetCode 557. 反转字符串中的单词 III(栈)

    文章目录 1. 题目信息 2. 解题 2.1 栈 2.2 STL reverse() 1. 题目信息 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: ...

最新文章

  1. dubbo could not get local host ip address will use 127.0.0.1 instead 异常处理
  2. Git指南-Git-flow开发流程
  3. 使用ImageMagick 的提示与技巧
  4. UITabBarController 的配置
  5. mysql 新建数据库
  6. 强烈推荐|我做系统架构的一些原则
  7. vue 全局函数的 定义与任意调用 (代码篇)
  8. Java的守护线程Daemon
  9. matlab图像的空域滤波增强处理,matlab 数字图像的空域滤波代码
  10. 程序员面试金典——17.4无判断max
  11. 深度学习啃“花书”指南
  12. 深入解密比Guava Cache更优秀的缓存-Caffeine
  13. 安恒 web类这可不是难题_如何消除您的前5个Web设计难题
  14. RT_Thread自问自答
  15. acwing 297. 赤壁之战 树状数组优化DP 寒假集训
  16. Keras Image Data Augmentation 各参数详解
  17. 使用含有关键字exists查找未分配具体部门的员工的所有信息。
  18. Python的两种继承方法
  19. 动态ip代理:Python爬虫应用,八仙过海各显神通
  20. Pandas数据分析—groupby分组统计

热门文章

  1. Java毕业设计之spring+springmvc实现的小型云盘网盘管理系统-课设大作业
  2. Java基础:子类与父类、子类与对象的关系、子类与父类同包时、不同包时的继承性
  3. 类型“JsonConvert”同时存在于“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6a
  4. 机器学习中的数学(五)--概率统计
  5. 房贷利率有没有套路?这是我见过最透彻的Python版解读!
  6. 来自阿里P8的灵魂拷问
  7. 货车运输(LCA+最大生成树)
  8. 机器学习入门篇【一】:以拉家常的方式讲机器学习
  9. 雅思阅读真经总纲_雅思天团集训课流程介绍
  10. 将展开型博弈转换成策略型博弈