Leetcode PHP题解--D54 937. Reorder Log Files

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

D54 937. Reorder LOG Files

题目链接

937. Reorder Log Files

题目分析

给定一个数组,每一个元素是一条“日志”。

每一条日志的第一个部分为一个标识符(ID)。
剩余部分为:
全为小写字母的字符串(称为字符日志)

全为数字的字符串(称为数字日志)。

给定的数组中确定会至少有一个字母。

重新排序这个数组,使得字符日志在前、数字日志在后
并将字符日志按字母升序排序,数字日志按保持原来的顺序(即,出现的顺序)。

返回排序后的数组。

思路

针对每一条日志:
首先,需要拆分ID和日志部分。
判断是字符日志还是数字日志,存入相应数组中。
遍历完成后,对字符日志进行排序。
在其后拼接数字日志数组,并返回即可。

最终代码

@H_512_45@<?php
class Solution {

    /**
     * @param String[] $logs
     * @return String[]
     */
    function reorderLogFiles($logs) {
        $letters = [];
        $digITs = [];
        foreach($logs as $log){
            $values = explode(' ',$log);
            $id = array_shift($values);
            $firstLetter = ord($values[0][0]) - ord('0');
            if($firstLetter>=0 &amp;& $firstLetter<=9){
                $digits[] = $log;
            }
            else{
                $letters[implode(' ',$values)] = $log;
            }
        }
        ksort($letters);
        return $letters+$digits;
    }
}

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

脚本宝典总结

以上是脚本宝典为你收集整理的Leetcode PHP题解--D54 937. Reorder Log Files全部内容,希望文章能够帮你解决Leetcode PHP题解--D54 937. Reorder Log Files所遇到的问题。

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

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