今天写dfs代码的时候,一直出错。出错代码为:
string toStr(int num, int n) {
string res(n, '0'); //这里应该是'0'
int cnt = n-1;
while (num) {
res[cnt--]=num%2+'0'; //这里应该是'0'
num>>=1;
}
return res;
}
出错的原因,见注释,
需要强调的一点是,string中的每个元素都是字符,所以在对相关元素进行赋值的时候,一定要赋值字符或者相应的整数数值。切记切记。
另外,当想知道x是否在vector数组时,可以使用find函数。用下列语句判断x是否在vector数组中。
find(nums.begin(), nums.end(), x) == nums.end()