今天做了Leetcode 上一道簡單的算法題:
石頭與鑽石:
給定字符串J
代表石頭中寶石的類型,和字符串 S
代表你擁有的石頭。 S
中每個字符代表了一種你擁有的石頭的類型,你想知道你擁有的石頭中有多少是寶石。
J
中的字母不重復,J
和 S
中的所有字符都是字母。字母區分大小寫,因此"a"
和"A"
是不同類型的石頭。
題解:直接使用了java暴力解法:
將字符串直接轉換為字符數組,遍歷石頭數組中所有元素,然后在判斷鑽石類是否在石頭中,如果在的話+1,最后返回count。
class Solution { public int numJewelsInStones(String J, String S) { char[] a=J.toCharArray(); char[] b=S.toCharArray(); int count=0; for(int i=0;i<a.length;i++) { for(int j=0;j<b.length;j++) { if(b[j]==a[i]) count++; } } return count; } }
在做這道題時,我是想到了將字符串轉換為數組的,奈何我是小白,並不知道如何轉換,so百度了下:
字符串轉換為字符數組:
String a = "asdcaf";
char [] b =a.toCharArray(); //必須為char類型
字符數組轉換為字符串:
char [] a ={"a","b","c"};
String b = new String(a);
延伸:
整型轉換為字符串:
int i =123;
String a = Integer.toString (i);
字符串轉換為整型:
int b = Integer.valueof(a).intValue();
這些都是很基礎的,所以還是要熟練使用!