下面代码用反射法生成 n 位格雷编码,横线处应填写( )。
vector<string> gray(int n) {
vector<string> ans = {"0", "1"};
for (int bit = 2; bit <= n; ++bit) {
int oldSize = ans.size();
for (int i = oldSize - 1; i >= 0; --i)
ans.push_back(__________________________);
for (int i = 0; i < oldSize; ++i)
ans[i] = "0" + ans[i];
}
return ans;
}
- A.
ans[i] + "1" - B.
"0" + ans[i] - C.
"1" + ans[i] - D.
ans[oldSize - i - 1]