题解 | #数字字符串转化成IP地址#
数字字符串转化成IP地址
https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串一维数组 */ public List<string> restoreIpAddresses(string s) { // write code here if (string.IsNullOrWhiteSpace(s)) return new List<string>(); List<string> lsStr = new List<string>(); HS(0, s, lsStr, "", 0); return lsStr; } public void HS(int nCurIndex, string s, List<string> lsStr, string strR, int nT) { // write code here if (nCurIndex == s.Length && nT == 4) { lsStr.Add(strR.Substring(1)); return; } //n表示字符个数 for (int n = 1; n <= 3; n++) { if (nCurIndex + n > s.Length) return; string strPart = s.Substring(nCurIndex, n); if (strPart.StartsWith("0") && strPart.Length > 1) return; int nPart = int.Parse(strPart); if (nPart > 255 || nPart < 0) return; HS(nCurIndex + n, s, lsStr, strR + '.' + s.Substring(nCurIndex, n), nT + 1); } } }