2020年2月24日找工作参加某所的笔试,刚踩的坑,虽然测试样例过了,能想到的几种情况也有测试能通过,但总感觉还是有遗漏的情况没考虑到。
题目
倒置句子,标点符号不倒置,倒置之后句子的标点不变位置,输出时候以空格分隔。
样例
输入: I like China.
输出: China. like I
思路
1.字符串长度为 0,不是合法的输入,直接return;
2.字符串长度不为0, 合法输入,用split(“ “) 分割字符串,这个时候也许会存在一种不合法的输入情况,输入一个或者多个空格,个人认为这也是不合法的输入,所以在正常倒置步骤之前把这个情况也单独拿出来处理了;
3.正常的输入,将分割得到的字符串数组逆序输出即可。
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String str = in.nextLine();
//System.out.println(str.length());
if (str.length() == 0) { // 字符串长度为0的时候,无意义
return;
} else { // 字符串长度
String[] item = str.split(" ");
int len = item.length;
System.out.println(len);
if (len == 0){ // 输入的字符串里只有空格,没有句子
return;
}
System.out.print(item[len - 1]);
for (int i = len - 2; i >= 0; i--) {
System.out.print(" " + item[i]);
}
}
}
}
对这个题用这种思路解答是否正确并不敢确定,也许会有漏解的情况,欢迎各位大佬批评指正!
本文作者:
whtli
本文链接: https://hexo.whtli.cn/archives/e540efdf.html
版权声明: 遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
本文链接: https://hexo.whtli.cn/archives/e540efdf.html
版权声明: 遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。