今天做某公司的在线笔试题,出现一个题目,意思是小明做车旅行时,途中醒了两次,每一次都看到了一些车站的颜色,用小写英文字母表示为两个字符串,现在同伴告诉小明整个过程中的所有车站的颜色排列,问是过去的途中还是回来的时候
抽象出来的意思是给三个字符串,str1,str2,str3,判断str2和str3在str1中的出现顺序。举例如下:
例1
输入:
abcdef
bc
f
输出:
forward
说明:forward表示bc和f在字符串abcdef中是正序出现的
例2
输入:
aabcdcaa
aa
cd
输出:
both
输出说明:因为aa和cd在字符串aabcdcaa中可以正序出现,也可以反序出现(将str1反转得到aacdcbaa,字符串aa和cd在该字符串中也顺序出现了)
如果正序出现,输出forward,反序出现,输出back,如果正序和反序都可以,输出both。如果都不可以,输出invalid
其实就是在str1正序的时候判断一遍,然后再将str1反序,再判断一遍。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext())