Description
Given an array A
of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates). For example, if a character occurs 3 times in all strings but not 4 times, you need to include that character three times in the final answer.
You may return the answer in any order.
Example 1:
Input: ["bella","label","roller"] Output: ["e","l","l"]
Example 2:
Input: ["cool","lock","cook"] Output: ["c","o"]
Note:
1 <= A.length <= 100
1 <= A[i].length <= 100
A[i][j]
is a lowercase letter
Accepted
33,870
Submissions
51,601
Solution
class Solution { public List<String> commonChars(String[] A) { if(A ==null || A.length==0){ return null; } List<String> list = new ArrayList<String>(); for(int i = 0; i< A[0].length(); i++){ Character ch = A[0].charAt(i); int count = Count(A[0], ch); boolean flag = true; for(int j = 1; j<A.length; j++) { if(!check(A[j],ch)){ flag = false; } count = count> Count(A[j],ch)? Count(A[j],ch): count; } if(flag &&!list.contains(Character.toString(ch)) ){ for(int t =0; t<count;t++){ list.add(Character.toString(ch)); } } } return list; } public boolean check(String str, Character ch){ for(int i = 0; i<str.length();i++){ if(str.charAt(i)== ch){ return true; } } return false; } public int Count(String str, Character ch){ int count = 0; for(int i = 0; i<str.length();i++){ if(str.charAt(i)==ch){ count++; } } return count; } }
原文地址:https://www.cnblogs.com/codingyangmao/p/11387420.html
时间: 2024-10-02 19:00:28