当前位置: 代码迷 >> 综合 >> leetcode刷题记录——771. Jewels and Stones
  详细解决方案

leetcode刷题记录——771. Jewels and Stones

热度:77   发布时间:2023-11-21 23:24:52.0

题目解析:输入参数为两个字符串,求第二个字符串中有几个字符包含于第一个字符串。

 

解法一: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