求教比较两个长度字符串,返回相同位数怎么实现?
如题
比如
s1="467598689343346"
s2="467598000003346"
比较s1和s2,返回有5位不同,要求效率高一点的算法
[解决办法]
改一下,上面的有点毛病:
string s1 = "467598689343346";string s2 = "467598000003346";int count = 0;for (int i = 0; i < (s1.Length > s2.Length ? s1.Length : s2.Length); i++){ if (i < s1.Length && i < s2.Length) { if (s1[i] != s2[i]) { count++; } }}Console.WriteLine(count);
[解决办法]
这种要求的比较只能用循环,一个一个比较,唯一能做的就是注意循环的长度,应该选择最短的那个串,
就像2楼的那样,
但是要注意,2楼count可能会不对,还应该加上abs(s1.length-s2.length)