zoukankan      html  css  js  c++  java
  • leetcode-剑指29-OK

    同主站54
    address

    /**
     * Note: The returned array must be malloced, assume caller calls free().
     */
    int* spiralOrder(int** matrix, int matrixSize, int* matrixColSize, int* returnSize){
        if((matrixSize==0)||(matrixColSize[0] == 0)){
            returnSize[0] = 0;
            return NULL;
        }
        returnSize[0] = matrixSize*matrixColSize[0];
        int *ans = (int *)malloc(sizeof(int)*returnSize[0]);
        int next = 0;
        void fill(int m){
            ans[next++] = m;
        }
        void round(int up, int down, int left,int right){
            if(up==down){
                for(int i = left;i<=right;i++)
                    fill(matrix[up][i]);
            }else if(left==right){
                for(int i = up;i<=down;i++)
                    fill(matrix[i][left]);
            }else{
                int i;
                for(i =left; i<=right; i++)
                    fill(matrix[up][i]);
                for(i = up+1;i<=down;i++)
                    fill(matrix[i][right]);
                for(i = right-1; i>=left;i--)
                    fill(matrix[down][i]);
                for(i = down-1;i>up;i--)
                    fill(matrix[i][left]);
            }
        }
        int up1=0, down1 =matrixSize-1,left1 = 0, right1 = matrixColSize[0] -1;
        while((down1>=up1)&&(right1>=left1)){
            round(up1,down1,left1,right1);
            up1++;
            down1--;
            left1++;
            right1--;
        }
        return ans;
    }
    
  • 相关阅读:
    HTML中Css补充资料
    HTML表单
    HTML盒子模型
    标准文档流
    什么使用面向对象
    static修饰
    static修饰
    列表样式
    java基础(9)
    java基础(8)
  • 原文地址:https://www.cnblogs.com/gallien/p/14323098.html
Copyright © 2011-2022 走看看