题目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)); }