频道栏目
首页 > 资讯 > 其他 > 正文

leetcode 59题目解答

17-01-09        来源:[db:作者]  
收藏   我要投稿
leetcode 59题目解答:我在这里用了和leetcode 54 一样的思路开辟了一个和原矩阵同样大小的矩阵temp来存放是否输出过的标志位,然后按照向右,向左,向上,向下的顺时针顺序构造矩阵。

下面是这两道题的代码:

import java.util.ArrayList;
import java.util.List;

public class Solution {
	public List spiralOrder(int[][] matrix) {
        List result = new ArrayList();
        int i,j; //i为行数,j为列数
        int count=0;
        
       // result.add(new Integer(matrix[0][0]));
        if(matrix.length == 0)
        	return result;
        int [][]temp = new int[matrix.length][];
        for(i=0;i= 0 && temp[i][j-1] == 0)
        	{//向左
        		j--;
        		temp[i][j] = 1;
        		result.add(new Integer(matrix[i][j]));
        	}
        	
        	while(i-1 >= 0 && temp[i-1][j] == 0)
        	{//向上
        		i--;
        		temp[i][j] = 1;
        		result.add(new Integer(matrix[i][j]));
        	}
        	
        	if((j+1==temp[i].length || temp[i][j+1] != 0) && (i+1 == temp.length || temp[i+1][j] != 0) && (j-1 < 0 || temp[i][j-1] != 0) && (i-1 < 0 || temp[i-1][j] != 0))
        		break;
        }
            return result;      
    }
	
public int[][] generateMatrix(int n) 
{
	int i,j,count;
	
	if(n==0)
		return null;
	int [][]res = new int[n][n];
	int [][]temp = new int[n][n];
	
	
	
	for(i=0;i= 0 && temp[i][j-1] == 0)
     	{//向左
     		j--;
     		temp[i][j] = 1;
     		res[i][j] = count++;
     	}
     	
     	while(i-1 >= 0 && temp[i-1][j] == 0)
     	{//向上
     		i--;
     		temp[i][j] = 1;
     		res[i][j] = count++;
     	}
     	
     	if((j+1==n || temp[i][j+1] != 0) && (i+1 == n || temp[i+1][j] != 0) && (j-1 < 0 || temp[i][j-1] != 0) && (i-1 < 0 || temp[i-1][j] != 0))
     		break;
     }

	return res;
}
	
	
	
	public static void main(String args[])
	{
		int i,j,n;
		//int[][] matrix = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
		int[][] matrix = {{1,2,3},{4,5,6},{7,8,9}};
		List result;
		result = new Solution().spiralOrder(matrix);
		for(i=0;i

 

相关TAG标签
上一篇:微信小程序正式发布啦!这绝对是是最全的上手指南
下一篇:微信小程序开闸,关于入口、体验、推广和博弈的一些观察与思考
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站