Find whether a string is palindrome or not.Constrains: 不将字符串存储在任何额外的变量中
Find whether a string is palindrome or not.Constrains: No storing the string in any extra variable
查看我试过的代码
我的问题与其他问题略有不同。我想为 palindrome.So 编写一个有效的代码我添加了一些 constrains.Constrains:没有将字符串存储在任何额外的 variable.Use 中只有一个 loop.I 在 [=27= 中尝试过],但它不渲染输出。我在 image.I 中使用了相同的逻辑,我是 php.I 的新手,需要一些帮助来检查我的代码是否正确,如果错误可以进行哪些更改?无论是 php 还是任何其他oops语言,我只需要检查我的逻辑是否正确。
PHP代码:
class user{
public function __construct(){
$this->palindrome();
}
public function palindrome(){
str ="abba";
i=0;
while(str[i] == str[strlen(str-1)-i])
{
i++;
}
if(i > strlen(str)/2)
{
return 0;
}
}
}
$obj = new user;
几个小错误:
str[strlen(str-1)-i]
=> str[strlen(str)-1-i])
当检查完成时,您不会终止循环。
您可以将 if 语句移动到循环中并且 return 为真。
或者使用 for 循环 0 -> length/2 和 return false 如果字符不相等。
保持逻辑,更正语法错误。
<?php
class user {
public function __construct() {
if ($this->palindrome()) {
echo 'Yes, Palindrome';
} else {
echo 'Not a palindrome';
}
}
public function palindrome() {
//Need $ symbol
$str = "abba";
$i = 0;
// \/
while ($str[$i] == $str[strlen($str) - ($i + 1)]) {
$i++;
if ($i > strlen($str) / 2) {
return 1;
}
}
return 0;
}
}
;
$obj = new user();
我改变了结构但保持了你的逻辑。
<?php
class User {
private $str;
public function __construct($str) {
$this->str = $str;
}
public function palindrome() {
$i = 0;
while ($this->str[$i] == $this->str[strlen($this->str) - ($i + 1)]) {
$i++;
if ($i > strlen($this->str) / 2) {
return 1;
}
}
return 0;
}
}
$obj = new User("abba");
echo $obj->palindrome(); // can be zero or one
查看我试过的代码
我的问题与其他问题略有不同。我想为 palindrome.So 编写一个有效的代码我添加了一些 constrains.Constrains:没有将字符串存储在任何额外的 variable.Use 中只有一个 loop.I 在 [=27= 中尝试过],但它不渲染输出。我在 image.I 中使用了相同的逻辑,我是 php.I 的新手,需要一些帮助来检查我的代码是否正确,如果错误可以进行哪些更改?无论是 php 还是任何其他oops语言,我只需要检查我的逻辑是否正确。
PHP代码:
class user{
public function __construct(){
$this->palindrome();
}
public function palindrome(){
str ="abba";
i=0;
while(str[i] == str[strlen(str-1)-i])
{
i++;
}
if(i > strlen(str)/2)
{
return 0;
}
}
}
$obj = new user;
几个小错误:
str[strlen(str-1)-i]
=> str[strlen(str)-1-i])
当检查完成时,您不会终止循环。
您可以将 if 语句移动到循环中并且 return 为真。
或者使用 for 循环 0 -> length/2 和 return false 如果字符不相等。
保持逻辑,更正语法错误。
<?php
class user {
public function __construct() {
if ($this->palindrome()) {
echo 'Yes, Palindrome';
} else {
echo 'Not a palindrome';
}
}
public function palindrome() {
//Need $ symbol
$str = "abba";
$i = 0;
// \/
while ($str[$i] == $str[strlen($str) - ($i + 1)]) {
$i++;
if ($i > strlen($str) / 2) {
return 1;
}
}
return 0;
}
}
;
$obj = new user();
我改变了结构但保持了你的逻辑。
<?php
class User {
private $str;
public function __construct($str) {
$this->str = $str;
}
public function palindrome() {
$i = 0;
while ($this->str[$i] == $this->str[strlen($this->str) - ($i + 1)]) {
$i++;
if ($i > strlen($this->str) / 2) {
return 1;
}
}
return 0;
}
}
$obj = new User("abba");
echo $obj->palindrome(); // can be zero or one