首页 > 试题广场 >

字符串的交错组成

[编程题]字符串的交错组成
  • 热度指数:2087 时间限制:C/C++ 4秒,其他语言8秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定三个字符串str1、str2 和aim,如果aim包含且仅包含来自str1和str2的所有字符,而且在aim中属于str1的字符之间保持原来在str1中的顺序属于str2的字符之间保持原来在str2中的顺序,那么称aim是str1和str2的交错组成。实现一个函数,判断aim是否是str1和str2交错组成,如果是请输出“YES”,否则输出“NO”。


输入描述:
输出三行,分别表示三个字符串str1,str2和aim。 , 表示字符串长度。


输出描述:
输出“YES”或者“NO”。(不包含引号)
示例1

输入

AB
12
1AB2

输出

YES
示例2

输入

2019
9102
22001199

输出

NO

备注:
时间复杂度,空间复杂度。(n表示字符串str1长度,m表示s字符串tr2长度)
头像 星晨
发表于 2020-11-15 21:41:32
注意理解本题str1 , str2 交错组成的 aim 字符串等价于 str1 按照顺序在aim 出现 && str1 按照顺序在aim 中出现时间复杂度:O(N+M)空间复杂度:O(1) package main import ( "fmt" ) func main(){ 展开全文