771. Jewels and Stones(2018.8.12-1)

  • 原题链接

  • 题目大意:给定两个字符串J和S,要求输出S中包含J中所含字母的个数,严格区分大小写.

  • 思路:考察标记数组的使用. 先定义一个标记数组,初始化全为0,然后遍历J的字符,并把它当标记数组下标,字母会自动转为acsii值,被标记的位置数组值为1,其他为0,标记工作完成后,遍历S字符,并把它当标记数组下标,筛选出数组为1的位置,计数器自增,最后返回计数器的值

  • 代码
int numJewelsInStones(char* J, char* S) {
    int arr[130]={0};
    int result=0;
    for(int i=0;i<strlen(J);i++){
        arr[J[i]]++;
    }
    for(int i=0;i<strlen(S);i++){
        if(arr[S[i]]!=0){
            result++;
        }
    }
    return result;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37597859/article/details/81592761
文章标签: LeetCode
个人分类: LeetCode题解
所属专栏: LeetCode天梯之路
上一篇KMP算法
下一篇832. Flipping an Image
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭