笔试题 :查找两个字符串在一个字符串中出现的顺序

这篇博客主要介绍了如何解决一道在线笔试题,题目要求根据三个字符串str1, str2, str3判断str2和str3在str1中的出现顺序。通过示例解析了forward, back和both的判断条件,并提供了简单的解决方案,即正序和反序各判断一次。" 133479980,19694767,菜单类型编程实现:文本、图形与上下文菜单,"['Python', '开发语言', '图形界面']
摘要由CSDN通过智能技术生成

今天做某公司的在线笔试题,出现一个题目,意思是小明做车旅行时,途中醒了两次,每一次都看到了一些车站的颜色,用小写英文字母表示为两个字符串,现在同伴告诉小明整个过程中的所有车站的颜色排列,问是过去的途中还是回来的时候

抽象出来的意思是给三个字符串,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())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值