今天做了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();

 

这些都是很基础的,所以还是要熟练使用!

 

版权声明:本文为bigsmartpig原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bigsmartpig/p/10832083.html