一看这道题在脑海中就浮现出了两步,先把小vector逆序 然后再针对每个元素进行反转 ,逆序用的是中的reverse函数,很好用的勒,参数:first、last。first和last是双向迭代器类型,reverse函数反转的范围是[first,last),所以包括first指向的元素,不包括last指向的元素 针对数组也同样适用 first = 数组名(即首地址) last=数组+长度(尾后元素地址)
vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) {
int row = A.size();
//如果里面没有元素就没有必要修改
if(row <= 0)
return A;
int row_size = A[0].size();
if(row_size <= 0)
return A;
//逆序处理,用了algorithm包中的reverse函数
for(int i = 0; i < row ; i++)
reverse(A[i].begin(),A[i].end());
for(int i = 0; i < row ; i++){
for(int j = 0 ; j < row_size; j++){
if(A[i][j] == 1)
A[i][j] = 0;
else
A[i][j] = 1;
}
}
return A;
}