Leetcode PHP题解--D8 832. Flipping an Image

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Leetcode PHP题解--D8 832. Flipping an Image脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

832. Flipping an Image

题目链接

832. Flipping an Image

题目分析

题目要求把一个只有0和1的二维数组中的0和1取反变为1和0。即1变0,0变1。

且需要把每行数据倒序过来。

思路

今天我尝试换一种方法描述思路。

输入是一个二维数组,那么我们需要先降为一维。这个可以用foreach完成。

接下来需要完成替换。我本来想用取反操作符完成的,但是如果开头为1的话,需要补0。

我懒得补0,所以我用implode先转换成字符串了。

str_replace(['0','1','2'],['2','0','1'],implode('',$row));

这里我先把0换成2,1换成0,再把2换成1的。

如果直接把0替换成1,1替换成0的话,最后会全0。因为他是先完成第一个替换对,再重新遍历字符串替换第二个替换对的。

再用str_split把字符串变会数组。

最后,用array_reverse把数组顺序倒转过来即可。

当然,也可以先用strrev先反转字符串,再str_splIT

这样就完成了每一行的处理。

最终代码

<?php
class Solution {
    function flipAndInvertImage($A) {
        $flipped = [];
        foreach($A as $row){
            $flipped[] = array_reverse(str_split(str_replace(['0','1','2'],['2','0','1'],implode('',$row))));
        }
        return $flipped;
    }
}

觉得文章对你有用,欢迎用爱发电资助。

脚本宝典总结

以上是脚本宝典为你收集整理的Leetcode PHP题解--D8 832. Flipping an Image全部内容,希望文章能够帮你解决Leetcode PHP题解--D8 832. Flipping an Image所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。