zoukankan      html  css  js  c++  java
  • leetcode菜鸡斗智斗勇系列(2)--- 把一个ipv4地址转换成一串数字

    1.原题:

    https://leetcode.com/problems/defanging-an-ip-address/

    这道题本身很简单,

    Given a valid (IPv4) IP address, return a defanged version of that IP address.

    defanged IP address replaces every period "." with "[.]".

    翻译就是,给出一个ipv4地址,把这个地址中的“.”转换为"[.]",但是作者不是很懂为啥要换成这个。2333

    2.解题思路:

    其实这道题最简单的办法就是用正则表达式,但是考虑到很多正则表达式的时间复杂度和空间复杂度有点大,我们这次就用傻办法,反正以后肯定会有更合适的正则表达式使用的地方。

    a.所需的知识点:

    substr :https://www.cnblogs.com/xzxl/p/7243490.html ,因为'.' 是一个char,所以不能直接转换到"[.]",因为是一个string,所以我们需要用substr。

     

    b.解题思路:

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

    我们从倒数第二位开始扫描,因为地址的最后一位肯定不是 ‘。’

    我们一旦发现了一个点,我们就用substr来重组整个地址,然后输出,非常简单。

  • 相关阅读:
    第十四周学习进度
    团队十日冲刺17
    团队十日冲刺16
    找水王
    搜狗输入法评价
    团队十日冲刺15
    团队十日冲刺14
    团队十日冲刺13
    团队十日冲刺12
    团队十日冲刺11
  • 原文地址:https://www.cnblogs.com/cptCarlvon/p/12052814.html
Copyright © 2011-2022 走看看