1,Reverse Words in a String(字符串中翻转单词)
---答案:(注意,前后有空格要去掉。而且要注意最后出的结果是只有一个空格)
public class Solution {
public String reverseWords(String s) {
String[] str = s.trim().split("\\s+");
s="";
for(int i = str.length - 1; i > 0; --i){
s += str[i] + " ";
}
s += str[0];
return s;
}
}
2,rotate array(循环移动数组,右移数组)
---答案:
public class Solution {
public void rotate(int[] nums, int k) {
if(nums.length <= 1){
return;
}
//step each time to move
int step = k % nums.length;
reverse(nums,0,nums.length - 1);//这句话放到最后就是左移
reverse(nums,0,step - 1);
reverse(nums,step,nums.length - 1);
}
//reverse int array from n to m
public void reverse(int[] nums, int n, int m){
while(n < m){
nums[n] ^= nums[m];
nums[m] ^= nums[n];
nums[n] ^= nums[m];
n++;
m--;
}
}
}
原文:http://www.cnblogs.com/yueyebigdata/p/4842913.html