Javascript рекурсивная версия (без обратной нежелательной)
function p(s){l=s.length;return l<2||(s[0]==s[l-1]&&p(s.substr(1,l-2)))}
(72 символов)
или реализуют обратное внутри:
p=function(s,y){return y?(s==p(s)):s[1]?(p(s.substr(1))+s[0]):s[0]}
p("hannah",1);
(67 символов)
или, используя нет встроенных функций ...
p=function(s,y,i){
return i?s[i]?s[i]+p(s,0,i+1):'':y?(s==p(s)):s[1]?(p(p(s,0,1))+s[0]):s[0]
}
p("hannah",1);
(92 символов)
кратчайшее я мог придумать: (итеративные)
function p(s,l){for(c in s){if(s[c]!=s[l-1-c])s=0}return s}
p("hannah",6);// (is this cheating?)
(59 символов)
с нетерпением жду встречи с вами делать это лучше в JavaScript!
(предпочтительно без использования каких-либо встроенных функций, особенно назад)
(на самом деле не очень впечатлил 'вернуть ей == s.reverse()' ответы типа)
Бонусные баллы к первому человеку, чтобы оставлять КПК – 2008-10-23 04:28:00
Сделать это сообщество вики редактируемый, пожалуйста – aku 2008-10-23 04:30:59
Другой не был дубликат – 2008-10-23 04:53:11