'LeetCode基礎算法題第1108. Defanging an IP Address'

"
"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

LeetCode基礎算法題第1108. Defanging an IP Address

C語言實現:

這就是一個字符串替換的問題,難度就是0。

做法就是先計算最終要返回的字符串的長度,可以用strlen獲取原字符串的長度。

由於一個有效的ipv4地址有3個‘.’字符,每個都要轉換成“[.]”。所以新的字符串長度會比原字符串長度多6個字符串,又因為strlen不統計字符串的結尾字符‘\\0’,所以最終要返回的字符串的實際長度是原字符串的長度再加7。

分配好返回字符串後,剩下的就是遍歷原字符串替換並填充返回字符串。最後不要忘記在返回字符串結尾填充‘\\0’。詳細代碼如下:

"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

LeetCode基礎算法題第1108. Defanging an IP Address

C語言實現:

這就是一個字符串替換的問題,難度就是0。

做法就是先計算最終要返回的字符串的長度,可以用strlen獲取原字符串的長度。

由於一個有效的ipv4地址有3個‘.’字符,每個都要轉換成“[.]”。所以新的字符串長度會比原字符串長度多6個字符串,又因為strlen不統計字符串的結尾字符‘\\0’,所以最終要返回的字符串的實際長度是原字符串的長度再加7。

分配好返回字符串後,剩下的就是遍歷原字符串替換並填充返回字符串。最後不要忘記在返回字符串結尾填充‘\\0’。詳細代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

LeetCode基礎算法題第1108. Defanging an IP Address

C語言實現:

這就是一個字符串替換的問題,難度就是0。

做法就是先計算最終要返回的字符串的長度,可以用strlen獲取原字符串的長度。

由於一個有效的ipv4地址有3個‘.’字符,每個都要轉換成“[.]”。所以新的字符串長度會比原字符串長度多6個字符串,又因為strlen不統計字符串的結尾字符‘\\0’,所以最終要返回的字符串的實際長度是原字符串的長度再加7。

分配好返回字符串後,剩下的就是遍歷原字符串替換並填充返回字符串。最後不要忘記在返回字符串結尾填充‘\\0’。詳細代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Java語言實現:

Java 可以用字符串方法replace或者replaceAll來實現,也可以像方面C語言那樣用傳統方法。

結果是,傳統方法會稍微快一些。但是實際操作中建議直接用字符串方法實現,畢竟性能提升有限,但是用字符串方法簡潔易維護。

代碼如下:

"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

LeetCode基礎算法題第1108. Defanging an IP Address

C語言實現:

這就是一個字符串替換的問題,難度就是0。

做法就是先計算最終要返回的字符串的長度,可以用strlen獲取原字符串的長度。

由於一個有效的ipv4地址有3個‘.’字符,每個都要轉換成“[.]”。所以新的字符串長度會比原字符串長度多6個字符串,又因為strlen不統計字符串的結尾字符‘\\0’,所以最終要返回的字符串的實際長度是原字符串的長度再加7。

分配好返回字符串後,剩下的就是遍歷原字符串替換並填充返回字符串。最後不要忘記在返回字符串結尾填充‘\\0’。詳細代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Java語言實現:

Java 可以用字符串方法replace或者replaceAll來實現,也可以像方面C語言那樣用傳統方法。

結果是,傳統方法會稍微快一些。但是實際操作中建議直接用字符串方法實現,畢竟性能提升有限,但是用字符串方法簡潔易維護。

代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

LeetCode基礎算法題第1108. Defanging an IP Address

C語言實現:

這就是一個字符串替換的問題,難度就是0。

做法就是先計算最終要返回的字符串的長度,可以用strlen獲取原字符串的長度。

由於一個有效的ipv4地址有3個‘.’字符,每個都要轉換成“[.]”。所以新的字符串長度會比原字符串長度多6個字符串,又因為strlen不統計字符串的結尾字符‘\\0’,所以最終要返回的字符串的實際長度是原字符串的長度再加7。

分配好返回字符串後,剩下的就是遍歷原字符串替換並填充返回字符串。最後不要忘記在返回字符串結尾填充‘\\0’。詳細代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Java語言實現:

Java 可以用字符串方法replace或者replaceAll來實現,也可以像方面C語言那樣用傳統方法。

結果是,傳統方法會稍微快一些。但是實際操作中建議直接用字符串方法實現,畢竟性能提升有限,但是用字符串方法簡潔易維護。

代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Python語言實現:

Python 的實現我們用字符串方法replace直接得出結果。

代碼如下:

"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

LeetCode基礎算法題第1108. Defanging an IP Address

C語言實現:

這就是一個字符串替換的問題,難度就是0。

做法就是先計算最終要返回的字符串的長度,可以用strlen獲取原字符串的長度。

由於一個有效的ipv4地址有3個‘.’字符,每個都要轉換成“[.]”。所以新的字符串長度會比原字符串長度多6個字符串,又因為strlen不統計字符串的結尾字符‘\\0’,所以最終要返回的字符串的實際長度是原字符串的長度再加7。

分配好返回字符串後,剩下的就是遍歷原字符串替換並填充返回字符串。最後不要忘記在返回字符串結尾填充‘\\0’。詳細代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Java語言實現:

Java 可以用字符串方法replace或者replaceAll來實現,也可以像方面C語言那樣用傳統方法。

結果是,傳統方法會稍微快一些。但是實際操作中建議直接用字符串方法實現,畢竟性能提升有限,但是用字符串方法簡潔易維護。

代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Python語言實現:

Python 的實現我們用字符串方法replace直接得出結果。

代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

"
LeetCode基礎算法題第1108. Defanging an IP Address

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然後> 到中級難度,最後到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由於篇幅和> 精力有限,其他語言的實現有興趣的朋友請自己嘗試。初級難度說的差不多的時候,我打算再加點其他內容,我可能會從操作系統到協議棧,從分佈式> 聊到大數據框架,從大數據聊到人工智能,... ...。

如果有任何問題可以在文章後評論或者私信給我。

持續分享,敬請關注。

LeetCode 1108. 使IP地址無效(Defanging an IP Address)

問題描述:

給定一個有效的IPV4版本的ip 地址, 返回該ip地址的無效版本。所謂的無效版本就地址中的每一個字符'.'都會被替換成"[.]"。

示例:

LeetCode基礎算法題第1108. Defanging an IP Address

C語言實現:

這就是一個字符串替換的問題,難度就是0。

做法就是先計算最終要返回的字符串的長度,可以用strlen獲取原字符串的長度。

由於一個有效的ipv4地址有3個‘.’字符,每個都要轉換成“[.]”。所以新的字符串長度會比原字符串長度多6個字符串,又因為strlen不統計字符串的結尾字符‘\\0’,所以最終要返回的字符串的實際長度是原字符串的長度再加7。

分配好返回字符串後,剩下的就是遍歷原字符串替換並填充返回字符串。最後不要忘記在返回字符串結尾填充‘\\0’。詳細代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Java語言實現:

Java 可以用字符串方法replace或者replaceAll來實現,也可以像方面C語言那樣用傳統方法。

結果是,傳統方法會稍微快一些。但是實際操作中建議直接用字符串方法實現,畢竟性能提升有限,但是用字符串方法簡潔易維護。

代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address

Python語言實現:

Python 的實現我們用字符串方法replace直接得出結果。

代碼如下:

LeetCode基礎算法題第1108. Defanging an IP Address

LeetCode基礎算法題第1108. Defanging an IP Address


謝謝大家一直以來的關注和支持!

我一直在努力的寫好每一篇文章,畫好每一份插圖。但是作為一個996從業人員,時間精力十分有限。所以針對評論部分,以後只回答粉絲的問題和私信。希望僅僅是路過的朋友能夠體諒,希望更多人關注《吾是我師》,謝謝!


"

相關推薦

推薦中...