该问题基于主题“字符串置换”。有两个问题,我相信每个问题都相似:
Question1(来自CTCI):给定两个字符串,编写一个方法来确定一个是否是另一个的排列。
条件:区分大小写且空格很大
排列定义:如果两个字符串是排列,那么我们知道它们具有相同的字符,但顺序不同。而且,它们具有相同的字符数。
Question2(来自leetcode):给定两个字符串s1和s2,如果s2包含s1的排列,则编写一个函数以返回true。换句话说,第一个字符串的排列之一是第二个字符串的子字符串。
Example 1: Input:s1 = "ab" s2 = "eidbaooo"
Output:True
Explanation: s2 contains one permutation of s1 ("ba").
Example 2:
Input:s1= "ab" s2 = "eidboaoo"
Output: False
条件: 输入的字符串仅包含小写字母。
这是我的问题。一个Question1声明字符串的大小应相同,而另一个(Question2示例)则表明它们应该不同。哪一个是正确的,为什么。
如果在面试中被问到,哪种方式(陈述)可以解决这个问题?
答案 0 :(得分:2)
这是两个可以通过不同方式解决的问题: