题目:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
答题:
/**
* @param {number[][]} matrix
* @return {number[]}
*/
var spiralOrder = function(matrix) {
let res = []
let tem = ''
try{
while(matrix.length){
let top = matrix.shift()
for(let i =0;
i-1;
i--){
tem = bottom[i]
if(tem !== undefined){
res.push(tem)
}else{
return res
}
}
for(let i=matrix.length - 1;
i>-1;
i--){
tem = matrix[i].shift()
if(tem !== undefined){
res.push(tem)
}else{
return res
}}}}catch(err){
return res
}return res};
【剑指offer29顺时针打印矩阵】把数组的每一行,每一列当成一个整体,每个循环过程中用到的话就要删除掉。
也就是先删除最上面一行,再删除最右面一列,然后删除最后一行,最后删除最左边一列。
在遍历过程中有的值可能就没有了,这时候把res返回即可。
毕竟出现undefined的时候,数组中就已经没有内容了
推荐阅读
- JavaScript 权威指南-学习笔记(一)
- 网页|SheetJS xlsx js库入门使用
- 单线程的 JavaScript 是怎么实现异步的?
- React|Redux中间件及其开发者工具
- 熊猫周刊|《熊猫周刊》-2022/03/25
- js|阿里开源项目LowCodeEngine低代码开发引擎
- React 性能调优记录(下篇),如何写高性能的代码
- java|看看人家那物流系统,那叫一个优雅(附源码)
- java|javascrip基本知识总结