// 然后反转二维矩阵的每一行 for (int[] row : matrix) { reverse(row); } } void reverse(int[] arr) { /* 见上文 */} 至此,旋转矩阵的问题就解决了。 矩阵的螺旋遍历 我的公众号动态规划系列文章经常需要遍历二维dp数组,但难点在于状态转移方程而不是数组的遍历,顶多就是倒序遍历。 今天我们讲一...
}returns; }stringreverseWords(strings){// 清除空格intp1 =0, p2 =0;while(p2 < s.size()) {if(s[p2] !=' '|| (p2-1>=0&& p2+1< s.size()) && s[p2-1] !=' ') { s[p1] = s[p2]; p1++; p2++; }elsewhile(p2 < s.size() && s[p2] ==' ') { p2 ++; } }if(s...
// 将二维矩阵原地逆时针旋转 90 度 voidrotate2(int[][] matrix){ intn = matrix.length; // 沿左下到右上的对角线镜像对称二维矩阵 for(inti =0; i < n; i++) { for(intj =0; j < n - i; j++) { // swap(matrix[i][j], matrix[n-j-1][n-i-1]) inttemp = matrix[i][j]...
int[][]generateMatrix(int n){int[][]matrix=newint[n][n];int upper_bound=0,lower_bound=n-1;int left_bound=0,right_bound=n-1;// 需要填入矩阵的数字int num=1;while(num<=n*n){if(upper_bound<=lower_bound){// 在顶部从左向右遍历for(int j=left_bound;j<=right_bound;j++){matrix...
矩阵的螺旋遍历 我的公众号动态规划系列文章经常需要遍历二维dp数组,但难点在于状态转移方程而不是数组的遍历,顶多就是倒序遍历。 今天我们讲一下力扣第 54 题「螺旋矩阵」,看一看二维矩阵可以如何花式遍历: 函数签名如下: List<Integer>spiralOrder(int[][]matrix) ...