题目描述
解题思路
设置一个二维数组,将结果按照螺旋填充到二维数组中再最后输出。填充注意不要超出边界。用二维数组的默认值来表示该位置未被填充,以实现隐形的不断缩小的边界。
易错点
- ans[i][++j]- 使用 ++j可以使得下一步循环的 j 为同一个 j;
- 否则要另外考虑只剩最中间一行或一列的情况;多多试错,总能 AC
 
- 使用 
也许陌生的知识点
- sort(S, S + N, cmp);- 排序函数,实现 [first, last) 范围内的排序,可以自定义排序策略 cmp 函数
- 所需头文件: algorithm
 
- memset(s,0,sizeof(s));- 将 s 所指向的某一块内存中的后一定范围内的内容全部设置为指定的 ASCII 值, memset(<内存地址>, <指定的 ASCII 码>, <地址大小>);
- memset 函数按字节对内存块进行初始化,所以不能用它将 int 数组初始化为 0 和 -1 之外的其他值
- 所需头文件:cstring
 
- 将 s 所指向的某一块内存中的后一定范围内的内容全部设置为指定的 ASCII 值, 
- char a[5]; memset(a, 97, 5 * sizeof(char));- 可将字符数组 a 初始化为 aaaaa;
 
- 可将字符数组 a 初始化为 
代码示例:
| 1 | 
 |