Java for LeetCode 054 Spiral Matrix
2015-05-15 10:53
573 查看
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:
You should return
解题思路:
螺旋阵列,使用up down left right 四个指针标记上下左右的位置即可,JAVA实现如下:
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].
解题思路:
螺旋阵列,使用up down left right 四个指针标记上下左右的位置即可,JAVA实现如下:
static public List<Integer> spiralOrder(int[][] matrix) { List<Integer> list = new ArrayList<Integer>(); if (matrix.length == 0 || matrix[0].length == 0) return list; int left = 0, right = matrix[0].length - 1, up = 0, down = matrix.length - 1; while (left <= right && up <= down) { for (int i = left; i <= right&&up<=down; i++) list.add(matrix[up][i]); up++; for (int i = up; i <= down&&left<=right; i++) list.add(matrix[i][right]); right--; for (int i = right; i >= left&&up<=down; i--) list.add(matrix[down][i]); down--; for (int i = down; i >= up&&left<=right; i--) list.add(matrix[i][left]); left++; } return list; }
相关文章推荐
- Java for LeetCode 055 Jump Game
- Java for LeetCode 127 Word Ladder
- Leetcode 34. Search for a Range (Medium) (java)
- Java for LeetCode 089 Gray Code
- Java for LeetCode 098 Validate Binary Search Tree
- Java for LeetCode 113 Path Sum II
- Java for LeetCode 152 Maximum Product Subarray
- Java for LeetCode 117 Populating Next Right Pointers in Each Node II
- Java for LeetCode 024 Swap Nodes in Pairs
- Java for LeetCode 121 Best Time to Buy and Sell Stock
- Java for LeetCode 046 Permutations
- Java for LeetCode 207 Course Schedule【Medium】
- Java for LeetCode 059 Spiral Matrix II
- Java for LeetCode 065 Valid Number
- Java for LeetCode 211 Add and Search Word - Data structure design
- Java for LeetCode 033 Search in Rotated Sorted Array
- Java for LeetCode 079 Word Search
- Java for LeetCode 229 Majority Element II
- Java for LeetCode 090 Subsets II
- leetcode 34. Search for a Range | Java最短代码实现