leetcode菜雞鬥智鬥勇系列(2)--- 把一個ipv4地址轉換成一串數字

1.原題:

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

這道題自己很簡單,正則表達式

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

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

翻譯就是,給出一個ipv4地址,把這個地址中的「.」轉換爲"[.]",可是做者不是很懂爲啥要換成這個。2333code

 

2.解題思路:

其實這道題最簡單的辦法就是用正則表達式,可是考慮到不少正則表達式的時間複雜度和空間複雜度有點大,咱們此次就用傻辦法,反正之後確定會有更合適的正則表達式使用的地方。htm

a.所需的知識點:

substr :http://www.javashuo.com/article/p-ndqnmhbj-dn.html ,由於'.' 是一個char,因此不能直接轉換到"[.]",由於是一個string,因此咱們須要用substr。blog

 

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;
}
};ip

咱們從倒數第二位開始掃描,由於地址的最後一位確定不是 ‘。’leetcode

咱們一旦發現了一個點,咱們就用substr來重組整個地址,而後輸出,很是簡單。get

相關文章
相關標籤/搜索