290. 单词规律

290. 单词规律

290. 单词规律

Table of Contents

2 代码

class Solution {

    /**
     * @param String $pattern
     * @param String $str
     * @return Boolean
     */
    function wordPattern($pattern, $str) {
    if (empty($pattern) || empty($str)) {
        return false;
    }

    $patternMap = str_split($pattern);

    $strMap = explode(" ", $str);

    if (count($patternMap) != count($strMap)) {
        return false;
    }

    $map = [];
    $reverseMap = [];
    foreach ($patternMap as $key => $p) {
        if (array_key_exists($strMap[$key], $reverseMap) && $reverseMap[$strMap[$key]] != $p) {
        return false;
        }
        if (array_key_exists($p, $map)) {
        if ($map[$p] == $strMap[$key]) {
            continue;
        } else {
            return false;
        }
        }

        $reverseMap[$strMap[$key]] = $p;
        $map[$p] = $strMap[$key];
    }
    return true;
    }
}

3 思路

  • 一看到一一对应这个词就会想到 map
  • 而且给出的例子中看到了,得维护两个 map,保证不会冲突

===

作者: 吴丹阳 https://www.cnblogs.com/wudanyang

更新时间: 2020-09-02 Wed 21:04

Emacs 27.1 (Org mode 9.3.7)

===

天行健,君子以自强不息。

地势坤,君子以厚德载物。

===

原文地址:https://www.cnblogs.com/wudanyang/p/13604337.html