• 10翻转句子中单词的顺序


    转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4252235.html 

    声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,但源码均为本人实现,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明。谢谢。

    题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。

    解题思路:
      1.将原字符串以空格为标记拆分成一个字符数组。

      2.将该字符串数组的元素翻转。

      将翻转后的字符串数组还原成一个字符串。

    java源代码:

    package com.interview;
    /**
     * 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
     * 句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
     * 例如输入“I am a student.”,则输出“student. a am I”。
     * @author wjh
     *
     */
    public class _10ReverseWords {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            String s = "I am a student, your are my teacher!";
            System.out.println("原字符串:
    "+s);
            String newSteing = reverse(s);
            System.out.println("转换后的字符串:
    "+newSteing);
        }
    
        //翻转
        private static String reverse(String s){
            String[] strs = s.split(" ");  //以空格对原字符串进行拆分
            int n = strs.length;
            for(int i=0;i<n/2;i++){      //交换
                String temp = strs[i];
                strs[i] = strs[n-i-1];
                strs[n-i-1] = temp;
            }
            //将字符串数组转换成一个字符串
            StringBuffer newString = new StringBuffer();
            for(int i=0;i<n-1;i++){
                newString.append(strs[i]+" ");
            }
            newString.append(strs[n-1]);
            return newString.toString();
        }
    }
    View Code

    运行效果:

    原字符串:
    I am a student, your are my teacher!
    转换后的字符串:
    teacher! my are your student, a am I

  • 相关阅读:
    在Windows下生成SSH文件
    git常用命令总结
    小Q的歌单
    在vmware下安装Ubuntu16-04
    hexo-next博客中mathjax显示问题解决
    可乐复制问题
    hexo-next博客添加评论功能
    hexo-next博客添加在线联系功能
    tableau desktop
    tableau desktop
  • 原文地址:https://www.cnblogs.com/wuzetiandaren/p/4252235.html
Copyright © 2020-2023  润新知