本文主要是介绍832.翻转图像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//题解:
本题翻转后又翻转,本质上对称位置如果不同,经过翻转+反转实质上回到原始状态,如果对称位置相同,只需将其进行翻转,即1变为0,0变为1。
/**
* Return an array of arrays of size *returnSize.
* The sizes of the arrays are returned as *returnColumnSizes array.
* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
*/
int** flipAndInvertImage(int** A, int ASize, int* AColSize, int* returnSize, int** returnColumnSizes){
int i,j;
*returnSize=ASize;
*returnColumnSizes=AColSize;
for(i=0;i<ASize;i++)
{
for(j=0;j<(AColSize[i]+1)/2;j++)
{
if(A[i][j]==A[i][AColSize[i]-j-1])
A[i][j]=A[i][AColSize[i]-j-1]=1-A[i][j];
}
}
return A;
}
这篇关于832.翻转图像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!