题目解析:输入参数为两个字符串,求第二个字符串中有几个字符包含于第一个字符串。
解法一:contains()方法
class Solution {public int numJewelsInStones(String J, String S) {int num = 0;int length = S.length();for(int i = 0;i < length;i++) {char c = S.charAt(i);if(J.contains(c + "")) {num++;continue;}}return num;}
}
解法二:indexOf()方法
class Solution {public int numJewelsInStones(String J, String S) {int num = 0;int length = S.length();for(int i = 0;i < length;i++) {char c = S.charAt(i);if(J.indexOf(c + "") != -1) {num++;continue;}}return num;}
}
两种方法的原理一模一样,遍历一遍目标字符串的字符,如果字符包含于比较字符串,则结果加一。
方法总结
String.contains(String) 如果包含则返回true,否则返回false
String.indexOf(String)如果包含则返回对象内所查找字符串的开始位置,否则返回-1