Leetcode 54.螺旋矩阵 JavaScript (Day 8)

javascript 复制代码
var spiralOrder = function(matrix) {
    let ans=[];
    let left =0,right=matrix[0].length-1;
    let top=0,bottom=matrix.length-1;
    while(left<right&&top<bottom){
        for(let i=left;i<right;i++) ans.push(matrix[top][i]);
        for(let i=top;i<bottom;i++) ans.push(matrix[i][right]);
        for(let i=right;i>left;i--) ans.push(matrix[bottom][i]);
        for(let i=bottom;i>top;i--) ans.push(matrix[i][left]);
        left++,right--;
        top++,bottom--;
    }
    if(top==bottom){
        for(let i=left;i<=right;i++) ans.push(matrix[top][i]);
    }
    else if(left==right){
        for(let i=top;i<=bottom;i++) ans.push(matrix[i][left]);
    }    
    
    return ans;
};

算法核心:直接见图

相关推荐
licongmingli2 小时前
vue2 基于虚拟dom的下拉选择框,保证大数据不卡顿,仿antd功能和样式
大数据·前端·javascript·vue.js·anti-design-vue
小沐°2 小时前
vue3-父子组件通信
前端·javascript·vue.js
码界奇点2 小时前
基于逆向工程技术的Claude Code智能Agent系统分析与重构研究
javascript·ai·重构·毕业设计·源代码管理
树叶会结冰2 小时前
TypeScript---循环:要学会原地踏步,更要学会跳出舒适圈
前端·javascript·typescript
only-qi2 小时前
LeetCode 148. 排序链表
算法·leetcode·链表
smj2302_796826522 小时前
解决leetcode第3791题.给定范围内平衡整数的数目
python·算法·leetcode
不能只会打代码2 小时前
力扣--1970. 你能穿过矩阵的最后一天(Java)
java·算法·leetcode·二分查找·力扣·bfs·最后可行时间
Zyx20072 小时前
JavaScript 中的 this:作用域陷阱与绑定策略
javascript
2501_946244782 小时前
Flutter & OpenHarmony OA系统底部导航栏组件开发指南
android·javascript·flutter