很多同学求职遇到的代码题,很简单,大家可能都不太想写,简单写一下。
import java.util.Scanner;
public class reverseUrl{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.next();
String arr[] = str.split("\\.");
// 全部反转 将[www.baidu.com转化成www.udiab.moc]
// for(int i=0;i<arr.length;i++){
// StringBuffer sb = new StringBuffer(arr[i]);
// arr[i] = sb.reverse().toString();
// }
// 部分反转[www.baidu.com转化成com.baidu.www]
for(int i=0;i<arr.length/2;i++){
String s=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=s;
}
for(int j=0;j<arr.length-1;j++){
System.out.print(arr[j]+".");
}
System.out.print(arr[arr.length-1]);
}
}
针对符号多的情况作出进阶修改,符合 单词不反符号反 的情况。
public class url反转进阶 {
public static void main(String[] args) {
System.out.println(reserve("http://www.baidu.com"));
}
public static String reserve(String a) {
char[] str = a.toCharArray();
StringBuffer reserveStr = new StringBuffer();
int size = 0;
for (int i = str.length - 1; i >= 0; i--) {
if (str[i] >= 97 && str[i] <= 122) {
size++;
} else {
if (size > 0) {
reserveStr.append(String.valueOf(str, i + 1, size));
}
size = 0;
reserveStr.append(str[i]);
}
}
if (size > 0) {
reserveStr.append(String.valueOf(str, 0, size));
}
return reserveStr.toString();
}
}
输出结果