#14061. [GESP202609 六级 C++] 第 12 题

[GESP202609 六级 C++] 第 12 题

下面代码用反射法生成 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;
}

{{ select(1) }}

  • ans[i] + "1"
  • "0" + ans[i]
  • "1" + ans[i]
  • ans[oldSize - i - 1]