找出两个字符串中所有共同的字符。
时间: 2024-05-30 14:15:19 浏览: 13
可以使用哈希表或者双指针法来实现,具体步骤如下:
1. 分别遍历两个字符串,将每个字符作为键值,出现次数作为值存入哈希表中。
2. 再次遍历一个字符串,判断字符是否在哈希表中,并且出现次数大于0,如果是,则将该字符添加到结果列表中,并将哈希表中对应的字符出现次数减1。
3. 返回结果列表即为两个字符串中所有共同的字符。
如果两个字符串长度分别为m和n,则时间复杂度为O(m+n),空间复杂度为O(min(m,n))。
相关问题
java找出两个字符串中所有共同的字符
可以使用两个for循环,分别遍历两个字符串中的每个字符,然后比较是否相同,如果相同则将该字符添加到一个新的字符串中。最后返回这个新的字符串即可。
代码示例:
```
public static String findCommonChars(String str1, String str2) {
StringBuilder sb = new StringBuilder();
for (int i = ; i < str1.length(); i++) {
char c1 = str1.charAt(i);
for (int j = ; j < str2.length(); j++) {
char c2 = str2.charAt(j);
if (c1 == c2) {
sb.append(c1);
break;
}
}
}
return sb.toString();
}
```
调用示例:
```
String str1 = "hello";
String str2 = "world";
String commonChars = findCommonChars(str1, str2);
System.out.println(commonChars); // 输出 "lo"
```
Java找出两个字符串中所有共同的子串。
您好!关于您的问题,要找出两个字符串中所有共同的子串,可以采用暴力匹配法,对于其中一个字符串,逐个截取所有长度相同的子串,然后在另一个字符串中查找是否存在相同的子串,找到则记录下来即可。
代码示例:
```java
public static List<String> findCommonSubstrings(String s1, String s2) {
List<String> commonSubstrings = new ArrayList<>();
for (int i = 0; i < s1.length(); i++) {
for (int j = i + 1; j <= s1.length(); j++) {
String substring = s1.substring(i, j);
if (s2.indexOf(substring) != -1) {
commonSubstrings.add(substring);
}
}
}
return commonSubstrings;
}
```
注意,以上仅为一种常见的解法,实际上还存在更高效的算法,例如动态规划和后缀树等。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)