1.原題:
https://leetcode.com/problems/defanging-an-ip-address/
這道題本身很簡單,
Given a valid (IPv4) IP address, return a defanged version of that IP address.
A 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來重組整個地址,然后輸出,非常簡單,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/45219.html
標籤:其他
