110,566
社区成员
发帖
与我相关
我的任务
分享
string binarystring="11010001010101000111";
//检查所给二进制串是否符合要求,由outOfZero及countOfOne带出该串中含0和1的个数
bool CheckBinaryString(string binaryString, out int countOfZero, out int countOfOne)
{
countOfZero = countOfOne = 0;
List<string> subStrings = new List<string>(); //用于存放所有出现过的子串
for (int i = 0; i < binaryString.Length; i++)
{
char ch = binaryString[i];
if (ch=='0') countOfZero++; // 0 的个数加一
else if (ch=='1') countOfOne++; // 1 的个数加一
else return false; //不合法的字符串
string subString = ""; //用于存放当前位置开始取11个字符的子串
int index = i;
for (int j = 0; j < 11; j++)
{
subString += binaryString[index];
index = (index + 1) % binaryString.Length;
}
if (subStrings.Contains(subString)) return false; //出现重复的子串
}
return true; //是合格的
}