![]() |
"踏上LeetCode解題之路,順手紀錄一下PHP練功的過程囉。這是第三篇~~" |
Longest Palindromic Substring - LeetCode
題目要求
Given a string
s
, return the longest palindromic substring ins
.
思考過程
- 透過...(待更新)
- ...
結果✅
class Solution { /** * @param String $s * @return String */ function longestPalindrome($s) { if (($length = strlen($s)) <= 1) { return $s; /* $s ==0 a or b */ } if (strrev($s) === $s) { return $s; /* bb aa ccc == bb aa = ccc*/ } $max_length = 1; for ($i = 0; $i < $length; ++$i) { for ($len = $max_length; $len <= $length; ++$len){ $start = $i - ($len >> 1); /* bb c == bb c */ if ($start < 0 || $start + $len > $length) { break; } $substr = substr($s, $start, $len); /*count down $len in $s; print 0-$start*/ if ($substr === strrev($substr)) { $str = $substr; $max_length = $len; /* bb == bb */ } else if ($max_length + 1 < $len) { break; } } } return $str; } }