题目1

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

 

思路

这个题就是把一个带有空格的字符串中的单词顺序前后颠倒,根据String类中的依据空格划分字串为数组的方法。万物先判断是否为空,去除字符串中的空格看看还剩不剩东西,如果不剩就直接输出,否则把数组反过来输出就行

 

字串转成数组:

待匹配子串.split("匹配原则");

本题根据空格键划分 使用的语法是str.split(" ");

 

去除空格

待处理字串.trium();

 

public String test3(String str)
    {
        if(str.trim().length()==0)
            return str;
        String[] arr=str.split(" ");
        String res="";
        for(int i=str.length()-1;i>=0;i--)
        {
            res+=arr[i];
            if(i!=0)
                res+=" ";
        }
        return res;
        
    }

 

 

题目2

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

 

思路

万物皆可冒泡,遍历数组,满足奇数的去前面,剩下的在后面。

 

public void test17(int[] array)
    {
        for(int i=0;i<array.length;i++)
        {
            for(int j=0;j<array.length-1;j++)
            {
                if(array[j]%2==0&array[j+1]%2!=0)
                {
                    int temp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }
        }
        
        System.out.println(Arrays.toString(array));
    }