771.宝石与石头+1108.IP地址无效化

771.宝石与石头

题目描述: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3
示例 2:
输入: J = "z", S = "ZZ"
输出: 0
注意:
S 和 J 最多含有50个字母。
J 中的字符不重复。

思路:
用两个for循环,遍历每块石头,检查是不是宝石。(记得要给count初始值)
代码:(C++)

class Solution {
public:
    int numJewelsInStones(string J, string S) {
        int i,j;
        int count=0;
        for(i=0;i<J.size();i++)
        {
            for(j=0;j<S.size();j++)
            {
                if(J[i]==S[j])
                    count++;
            }
        }
        return count;
    }
};

提交结果

提交结果.png

1180.IP地址无效化

题目描述
给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。
所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."。
示例 1:
输入:address = "1.1.1.1"
输出:"1[.]1[.]1[.]1"
示例 2:
输入:address = "255.100.50.0"
输出:"255[.]100[.]50[.]0"
提示:
给出的 address 是一个有效的 IPv4 地址

思路:
逆序遍历字符串并将.替换为[.],不能正序遍历,因为每次替换完,下一个字符即为 . ,会进入死循环。逆序遍历,因为替换的东西插在i的后面,所以再向前遍历时不会遇到新插入的 . 。
String.replace(i,j,a)代表从第i个位置,将它及以后的 j 个位置替换为字符串a。
代码:(C++)

class Solution {
public:
    string defangIPaddr(string address) {
        int i;
        for(i=address.size();i>=0;i--)
        {
            if(address[i]=='.')
                address.replace(i,1,"[.]");
        }
        return address;
    }
};

提交结果:

提交结果.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,859评论 2 9
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,819评论 0 10
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,408评论 0 2
  • 771. 宝石与石头 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种...
    TheKey_阅读 265评论 0 1
  • 我知道,人生最美的旅行,是通向另一颗心的路上。世间在你心里,云白山清,川行石立,花迎鸟语。即使终有一天,你...
    周庄流水阅读 290评论 0 1