Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
You should return [1,2,3,6,9,8,7,4,5]
.
/* k - starting row index m - ending row index l - starting column index n - ending column index i - iterator */ public List<Integer> spiralOrder(int[][] matrix) { List<Integer> result = new ArrayList<>(); int m = matrix.length; if(m == 0) return result; int n = matrix[0].length; if(n == 0) return result; int k = 0, l = 0; while(k<m && l<n) { for(int i=l; i<n; i++) { result.add(matrix[k][i]); } k++; n--; for(int i=k; i<m; i++) { result.add(matrix[i][n]); } if(k < m) { m--; for(int i=n-1; i>=l; i--) { result.add(matrix[m][i]); } } if(l < n) { for(int i=m-1; i>=k; i--) { result.add(matrix[i][l]); } l++; } } return result; }
相关推荐
js js_leetcode题解之54-spiral-matrix.js
c是最好的编程语言 C语言_leetcode题解之54-spiral-matrix.c
js js_leetcode题解之59-spiral-matrix-II.js
c语言入门 C语言_leetcode题解之59-spiral-matrix-ii.c
leetcode 答案螺旋矩阵 返回二维数组中整数元素的顺时针螺旋列表 [答案击败 100% Java LeetCode 运行时提交] [答案击败 100% Java LeetCode 内存使用提交] 大(O)= O(N)
Spiral Matrix com.leetcode.list Linked List Cycle Linked List Cycle II Remove Duplicates from Sorted List com.leetcode.string Single Number com.leetcode.tree Balanced Binary Tree Maximum Depth of ...
"Spiral Matrix"则需要理解矩阵旋转的数学原理。 5. **递归与函数**:递归是解决许多算法问题的有效手段,如"Binary Tree Level Order Traversal"使用层次遍历(广度优先搜索)求解。而"Factorial Trailing Zeroes...
- Spiral Matrix: 给定一个m×n矩阵,以螺旋方式遍历矩阵中的所有元素一次,并且只遍历一次。 - Merge Intervals: 给定一组区间,请合并所有重叠的区间。 - Insert Interval: 在一组已经排序的区间中,插入一个新的...
第 338 章leetcode_cpp leetcode 的 C++ 代码 包含的问题 1 两和容易2 加两个数中5 最长回文子串中6 ZigZag 转换介质7 反转整数简单8 ...Spiral Matrix II 培养基61 轮播列表中第62话第63话64 最小路径和中66
leetcode 530 力码 全部的: 易(173/237+x) 中(144/437+x) 硬(4/x) 问题 1.Two Sum(dict) 7.(跳过)(数学) 9.(跳过)(串串技巧) 11.盛水最多的容器 12.(跳过)(问题不好) 13.(跳过)(蛮力) 14.(跳过)...
多线程 leetcode 前言 ...Spiral Matrix Path Sum II Copy List with Random Pointer Building H2O Fizz Buzz Multithreaded hard Merge k Sorted Lists Reverse Nodes in k-Group Trapping Rain Water
Spiral Matrix medium O 66 Plus One easy O O 118 Pascal's Triangle easy O O 119 Pascal's Triangle II easy O 要满足只用一个array大小空间O(k) k为input大小来完成,须具备backtracking概念 151 Reverse Words ...
leetcode LeetCode Solutions 算法 - Algorithms 排序算法:快速排序、归并排序、计数排序 搜索算法:回溯、递归、剪枝技巧 图论:最短路、最小生成树、网络流建模 动态规划:背包问题、最长子序列、计数问题 基础...
leetcode category other hot keywords:Palindrome(mic), Subsequence Array 螺旋矩阵Spiral Matrix 顺时针打印矩阵 Next Permutation Product of Array Except Self 189.rotate-array 283.move-zero Range Sum ...
# [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...
其中,问题59,名为"Spiral Matrix II"(螺旋矩阵II),是中级难度的一个挑战,主要考察的是矩阵遍历的技巧。该问题的核心目标是生成一个给定大小的螺旋矩阵,从中心开始,以螺旋形状填充数字。 首先,让我们明确...
标题中的“python-leetcode面试题解之第54题螺旋矩阵-题解.zip”表明这是一个关于Python编程语言的LeetCode面试题解答,具体是针对第54题——螺旋矩阵(Spiral Matrix)的解题代码和分析。LeetCode是一个在线平台,...
在本压缩包中,主题聚焦于C++编程基础与LeetCode题目的结合,特别是针对第54题“螺旋矩阵”(Spiral Matrix)的解法。LeetCode是一个在线平台,提供了一系列编程挑战,旨在帮助程序员提升算法技能和解决实际问题的...
【C语言入门与LeetCode第54题:螺旋矩阵】\n\n在计算机科学的世界里,C语言作为一门基础且强大的编程语言,是许多初学者踏入编程领域的首选。本资料包“C语言入门-leetcode练习之第54题螺旋矩阵.zip”旨在帮助你通过...
本题解围绕的是LeetCode中的第54题——螺旋矩阵(Spiral Matrix)。该题目的核心是理解递归与回溯的概念,并运用它们来解决实际问题。 螺旋矩阵是一种特殊的矩阵布局方式,数据按照顺时针方向螺旋地填充二维数组。...