1. 程式人生 > 實用技巧 >寶石與石頭

寶石與石頭

此部落格連結:https://www.cnblogs.com/ping2yingshi/p/13626998.html

寶石與石頭

題目連結:https://leetcode-cn.com/problems/jewels-and-stones/solution/bao-shi-yu-shi-tou-by-leetcode/

給定字串J代表石頭中寶石的型別,和字串S代表你擁有的石頭。S中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。

J中的字母不重複,J和S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。

示例 1:

輸入: J = "aA", S = "aAAbbbb"

輸出: 3
示例 2:

輸入: J = "z", S = "ZZ"
輸出: 0
注意:

S和J最多含有50個字母。
J中的字元不重複。

題解:

思路:此題過於簡單,但是就這,我還是卡住了,先說一下思路。本題就是在S中找J中存在的字元有多少個,那就兩層迴圈,判斷S中有沒有和S中相同的字元。

問題:我卡在了怎樣在S中取每個字元,一開始直接寫的for(char jew:S).報錯,才發現不能這樣寫,S是字串型別,jew是字元型別,這樣肯定不照,查詢把字串轉換成字元陣列,使用.toCharArray()方法,可以把字串轉成字元陣列。

程式碼:

class Solution {
    public
int numJewelsInStones(String J, String S) { int count=0; for(char jew:J.toCharArray()) for(char stone:S.toCharArray()) { if(jew==stone) count++; } return count; } }