![]() |
| "踏上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;
}
}