簡單的檢測字串是否是ip的演算法

2021-08-08 22:15:16 字數 600 閱讀 7544

乙個ip位址,如222.111.144.111,那麼怎麼檢測字串是否是這樣的形式呢。

筆試中做到這一題,因為時間不夠最後沒做出來,回來思考了一下,可以用堆疊的思想來解決本題,下面貼出**

bool checkip(string szip)

} else

stackpoint++;

i++;

} if (stack == "\0")

return false;

if (stoi(stack) > 255 || stoi(stack) < 0)//檢測最後一趟

return false;

else

return true;

}

思想是:遍歷整個字串,每次掃瞄的字元首先檢查是不是數字或者字元'.',如果是,就壓入堆疊,然後檢查堆疊底部,堆疊底部不能是字元'.',如果是則報錯。

檢查完堆疊底部之後,當每次有字元'.'壓入堆疊時,取出全部的堆疊內容,檢測之前壓入的數字的範圍,要在0~255之內。這樣的出棧最多存在四次,如果超過四次則報錯。

通過這種方法,外接乙個堆疊,只用迴圈遍歷字串一遍就能檢測字串是否是ip位址。

python檢測字串是否是回文字串

coding utf 8 spyder editor author linguiyuan def reverse text return text 1 def ishuiwen text return text reverse text text input 輸入乙個字串判斷是否是回文字串 n if...

JAVA檢測字串是否數值

一,開篇 對於 檢測字串是否數值 網上搜尋結果確實不少,基本思路都是使用正規表示式,基本上都是直接上 基本上好像都靠譜 但是談思路的不多。二,什麼樣的字串才是數值 總的來說,字串的字元只能存在於 正號 負號 小數點 0 9的數字,且 正號和負號只能出現在頭部且最多只能出現1次 小數點最多只能出現1次...

JavaScript檢測字串中是否有空格

第一種方法 isnan 使用js自帶全域性函式isnan isnan 返回乙個boolean值,如下 var c hello 字串 isnan c 返回乙個true var c 10 數字 isnan c 返回乙個false 如果以上c為乙個空串或是乙個空格,isnan將把c當作數字0來處理,所以檢...