zoukankan      html  css  js  c++  java
  • 字符串逆转问题2

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
    示例 1:
      输入: "Let's take LeetCode contest"
      输出: "s'teL ekat edoCteeL tsetnoc"
    注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

    解决这个问题就是先定义StringBuilder对象 sb,调用append方法用来添加逆转后的字符,在利用String类的方法split将字符串以空格分开,然后在逆转每一部分,调用append方法添加逆转后的字符,每次添加在加一个空格,直到最后一个逆转字符不加。

    代码如下:

    public static String reverseWords(String s) {
            String[] str = s.split(" ");
            StringBuilder sb = new StringBuilder();
            for(int i = 0;i<str.length;i++) {
                if(i<str.length - 1) {
                    sb.append(reserve(str[i])+" ");
                }
                else {
                    sb.append(reserve(str[i]));
                }
            }
            return new String(sb);
        }
        
        public static String reserve(String str) {
            char[] chars = str.toCharArray();
            int start = 0;
            int end = chars.length - 1;
            while(start<end) {
                char tmp = chars[start];
                chars[start] = chars[end];
                chars[end] = tmp;
                start++;
                end--;
            }
            return new String(chars);
        }
  • 相关阅读:
    The Sixth Assignment
    The fifth assigiment
    网络编程
    面向对象
    python数据类型之集合
    python数据类型之列表
    python数据类型之字符串
    python数据类型之字典
    python数据类型之元组
    常用模块
  • 原文地址:https://www.cnblogs.com/du001011/p/10445575.html
Copyright © 2011-2022 走看看