[LeetCode] 1108、IP 地址无效化

题目描述

给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."

输入:address = "255.100.50.0"
输出:"255[.]100[.]50[.]0"

参考代码

简单题,从后往前遍历数组并修改数组。我的实现。

class Solution {
public:
    string defangIPaddr(string address) {
        int length = address.size();
        int numOfDot = count(address.begin(), address.end(), '.');
        string res(length + 2 * numOfDot, ' ');
        
        int idxOfAdd = length - 1, idxOfRes = res.size() - 1;
        while(idxOfAdd >= 0 && idxOfRes >= 0){
            if(address[idxOfAdd] != '.'){
                res[idxOfRes--] = address[idxOfAdd--];
            }else{
                res[idxOfRes--] = ']';
                res[idxOfRes--] = '.';
                res[idxOfRes--] = '[';
                idxOfAdd--;
            }
        }
        
        return res;
    }
};
发布了390 篇原创文章 · 获赞 576 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/ft_sunshine/article/details/103945323