您当前的位置: 首页 >  算法

Phil Arist

暂无认证

  • 0浏览

    0关注

    276博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

算法修炼44、反转单词序列

Phil Arist 发布时间:2021-10-23 14:11:24 ,浏览量:0

题目描述:

  牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

  解题思路:

  本题相对比较简单,但是在面试中经常遇到,流传甚广。其主要思路也简洁明了,主要分为以下两步:

  第一步:反转整个序列中所有的字符,这时会发现不但反转了单词的顺序,单词中的字母顺序也被反转,因此需要第二步的调整。

  第二步:以空格为分隔,依次反转每个单词,即让每个单词会到原来的正常顺序。

  举例:

  以字符串“student. a am I”为例:整体反转后变为:"I ma a ,tenduts",然后再反转每个单词,可以得到最后结果:“I am a student.”。

  编程实现(Java):

public class Solution {
    //先翻转整个字符串,再逐一翻转每个单词
    public String ReverseSentence(String str) {
        if(str==null)
            return null;
        char[] strArr=str.toCharArray();
        reverseStr(strArr,0,strArr.length-1); //翻转整个字符串
        int begin=0;
        for(int i=0;i            
关注
打赏
1662360869
查看更多评论
0.0422s