[leetcode]54. Spiral Matrix -- JavaScript 代码
来源:互联网 发布:mac usb有线网卡驱动 编辑:程序博客网 时间:2024/05/16 18:14
/** * @param {number[][]} matrix * @return {number[]} */var spiralOrder = function(matrix) { var ret = []; var row = matrix.length; if(row === 0){ return ret; } var col = matrix[0].length; if(col === 0){ return ret; } var len = row * col; var cur_row = 0; var cur_col = 0; var pos = 1; for(var i=0;i<len;i++){ switch(pos){ case 1: ret.push(matrix[cur_row][cur_col]); matrix[cur_row][cur_col] = null; if(cur_col<col-1 && matrix[cur_row][cur_col+1]!==null){ cur_col++; }else{ pos = 2; cur_row++; } break; case 2: ret.push(matrix[cur_row][cur_col]); matrix[cur_row][cur_col] = null; if(cur_row<row-1 && matrix[cur_row+1][cur_col]!==null){ cur_row++; }else{ pos = 3; cur_col--; } break; case 3: ret.push(matrix[cur_row][cur_col]); matrix[cur_row][cur_col] = null; if(cur_col>0 && matrix[cur_row][cur_col-1]!==null){ cur_col--; }else{ pos = 4; cur_row--; } break; case 4: ret.push(matrix[cur_row][cur_col]); matrix[cur_row][cur_col] = null; if(cur_row>1 && matrix[cur_row-1][cur_col]!==null){ cur_row--; }else{ pos = 1; cur_col++; } break; } } return ret;};
这道题的算法比较容易,就是过程比较麻烦,需要细心。
使用pos来控制向哪个方向来寻找下一个数据;访问过的数据,就标空。
0 0
- [leetcode]54. Spiral Matrix -- JavaScript 代码
- 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
- LeetCode - 54. Spiral Matrix
- lrzsz工具
- Android MaterialDesign库的使用
- 二叉树的简单实现 JS
- Mybatis深入学习之映射器XML
- HDU 4462 Scaring the Birds
- [leetcode]54. Spiral Matrix -- JavaScript 代码
- Netty实现按字节解析的socket协议
- 木雨音乐 项目开发(八)最近播放界面
- 织梦dedecms如何做到真正的随机调取文章
- iOS 从浏览器跳转到应用
- [noip模拟赛]祖先(dp)
- JSON数组去重算法
- 如何使用TestFlight进行Beta测试
- rabbitmq 工作队列(java 实现)