LeetCode-54.Spiral Matrix I
来源:互联网 发布:无言网络歌手歌词 编辑:程序博客网 时间:2024/05/21 17:19
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> result;
if(matrix.size() == 0 || matrix[0].size() == 0) //对输入参数的检查
return result;
int rowBegin = 0;
int rowEnd = matrix.size() - 1;
int colBegin = 0;
int colEnd = matrix[0].size()-1;
result.resize((rowEnd+1)*(colEnd+1));
int cnt = 0;
while (rowBegin <= rowEnd && colBegin <= colEnd)
{
for (int i = colBegin; i <= colEnd ; i++) //traverse right
{
//result.push_back(matrix[rowBegin][i]);
result[cnt] = matrix[rowBegin][i];
cnt++;
}
rowBegin++;
for (int i = rowBegin; i <= rowEnd; i++) // traverse down
{
//result.push_back(matrix[i][colEnd]);
result[cnt] = matrix[i][colEnd];
cnt++;
}
colEnd--;
if (rowBegin <= rowEnd)
{
for (int i = colEnd; i >= colBegin; i--) //traverse left
{
//result.push_back(matrix[rowEnd][i]);
result[cnt] = matrix[rowEnd][i];
cnt++;
}
}
rowEnd--;
if (colBegin <= colEnd) //traverse up
{
for (int i = rowEnd; i >= rowBegin; i--)
{
//result.push_back(matrix[i][colBegin]);
result[cnt] = matrix[i][colBegin];
cnt++;
}
}
colBegin++;
}
return result;
}
};
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> result;
if(matrix.size() == 0 || matrix[0].size() == 0) //对输入参数的检查
return result;
int rowBegin = 0;
int rowEnd = matrix.size() - 1;
int colBegin = 0;
int colEnd = matrix[0].size()-1;
result.resize((rowEnd+1)*(colEnd+1));
int cnt = 0;
while (rowBegin <= rowEnd && colBegin <= colEnd)
{
for (int i = colBegin; i <= colEnd ; i++) //traverse right
{
//result.push_back(matrix[rowBegin][i]);
result[cnt] = matrix[rowBegin][i];
cnt++;
}
rowBegin++;
for (int i = rowBegin; i <= rowEnd; i++) // traverse down
{
//result.push_back(matrix[i][colEnd]);
result[cnt] = matrix[i][colEnd];
cnt++;
}
colEnd--;
if (rowBegin <= rowEnd)
{
for (int i = colEnd; i >= colBegin; i--) //traverse left
{
//result.push_back(matrix[rowEnd][i]);
result[cnt] = matrix[rowEnd][i];
cnt++;
}
}
rowEnd--;
if (colBegin <= colEnd) //traverse up
{
for (int i = rowEnd; i >= rowBegin; i--)
{
//result.push_back(matrix[i][colBegin]);
result[cnt] = matrix[i][colBegin];
cnt++;
}
}
colBegin++;
}
return result;
}
};
0 0
- LeetCode-54.Spiral Matrix I
- [LeetCode]Spiral Matrix I & II & Rotate Matrix
- LeetCode 54. Spiral Matrix
- [LeetCode]54.Spiral Matrix
- LeetCode --- 54. Spiral Matrix
- [Leetcode] 54. Spiral Matrix
- [leetcode] 54.Spiral Matrix
- Leetcode-54.Spiral Matrix
- **LeetCode 54. Spiral Matrix
- Leetcode 54. Spiral Matrix
- [leetcode] 54. Spiral Matrix
- leetcode 54. Spiral Matrix
- 54. Spiral Matrix LeetCode
- leetcode 54. Spiral Matrix
- LeetCode *** 54. Spiral Matrix
- [LeetCode]54. Spiral Matrix
- LeetCode 54. Spiral Matrix
- LeetCode--54. Spiral Matrix
- 将博客搬至CSDN
- studio 提示不区分大小写
- 史上最流行的Android组件、工具、框架大全
- YAML: Define an R function
- 五大常用算法
- LeetCode-54.Spiral Matrix I
- Linux查看History记录加时间戳小技巧
- 欢迎使用CSDN-markdown编辑器
- sql server 存储过程中日期格式转换(varchar与datetime)
- myeclipse配置tomcat的jdk
- equal(),hashcode(),toString()方法的作用
- 【转】Fiddler对安卓应用手机抓包图文教程
- Menu的使用
- Toast大全