1.analyse
給乙個由數字組成的字元創,求出其可能恢復的所有ip位址。比如給定字串「25525512110」,所有可能的ip位址為["255.255.121.10","255.255.12.110"]。
請寫出乙個函式實現該功能,第乙個引數為ip字串,第二個引數為輸出的ip位址陣列。
寫ip位址之前先去看了一下,ip位址的格式特點,32位二進位制數字,每8位一組共四組,如[ ddd.ddd.ddd.ddd ]這樣的一組數的範圍是0-255[即(2^0 -1 ------ 2^8-1)],a類位址,b類位址,c類位址,,,,,略略略(吐舌.jpg)
ip位址有三種基本型別,由網路號的第一組數字來表示。
a類位址的第一組數字為1~126。注意,數字0和 127不作為a類位址,數字127保留給內部回送函式,而數字0則表示該位址是本地宿主機,不能傳送。
b類位址的第一組數字為128~191。
c類位址的第一組數字為192~223。
a類網路預設子網掩碼:255.0.0.0
b類網路預設子網掩碼:255.255.0.0
c類網路預設子網掩碼:255.255.255.0
因為要給出所有可能的ip位址,所以考慮到了dfs演算法,不斷嘗試,通過就輸出。
2.code print
#include #include //串流控制標頭檔案
#include #include #include #include #include using namespace std;
int stoi(string s)
int main()
if (s2[0] == '0')break;
}if (s1[0] == '0')break;
} }return 0;
}
3,end
本人把部分沒法實現的stoi(string轉換int)函式實現了
方法來自於
c++中將int轉變成string和string轉變成int 字串流
參考 c++中的atoi()和stoi()函式的用法和區別
還有乙個博主實現了,不過**不太好看,又是乙個用手機拍螢幕的xx。
恢復ip位址 c++語言(資料結構) 博主 菇涼小伙
編寫程式恢復ip位址,給定乙個僅包含數字的字串,恢復它的所有可能的有效ip位址,例如,給定字串為「25525511135」,輸出「255.255.111.35「和」255.255.11.135「(順序可以任意)。
復原IP位址(dfs)
給定乙個只包含數字的字串,用以表示乙個 ip 位址,返回所有可能從 s 獲得的 有效 ip 位址 你可以按任何順序返回答案。有效 ip 位址 正好由四個整數 每個整數字於 0 到 255 之間組成,且不能含有前導 0 整數之間用 分隔。例如 0.1.2.201 和 192.168.1.1 是 有效 ...
leetcode93 復原IP位址 dfs
基本思想 dfs 給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。有效的 ip 位址正好由四個整數 每個整數字於 0 到 255 之間組成 整數之間用 分隔。示例 輸入 25525511135 輸出 255.255.11.135 255.255.111.35 class solut...
IP協議詳解之IP位址要領
1.前言 整個的網際網路就是乙個單一的 抽象的網路。而ip位址就是給網際網路上的每乙個主機 或路由器 的每乙個介面分配乙個在全世界範圍是唯一的32位的識別符號。ip位址的結構使我們可以在網際網路上很方便地進行定址。但是,根據tcp ip協議的規定的ip位址是由32位二進位制數組成的,例如 11010...