php移除最少字元變成迴文串

來源:互聯網
上載者:User
本篇文章給大家分享的內容是關於php移除最少字元變成迴文串 ,有著一定的參考價值,有需要的朋友可以參考一下

$s='';for($i=0;$i<15;$i++){    $s.=chr(rand(97, 122));}$s=$string =  strtoupper($s);echo $string ;

這是隨機產生一個字串


//一段字串,移除最少的字元,使之成為一個迴文串    比如 ABBA   ABABA  A  都是迴文串//  ABSDFDA   移除最少字元後形成迴文 變成   ADFDA// 重點講解下  回串文的 第一個 和最後一個字元 必定一樣
//刪除字串的某個位置的值function delete_str_pos($str,$pos){    $s = str_split($str);    unset($s[$pos]);    return implode("",array_values($s));}//判斷是不是一個迴文串function is_huichuan($s){    if(strlen($s)==1)    {        return true ;    }else    {        $o = strlen($s)/2;        $two = floor($o);        $a = substr($s,0,$two);        if(is_float($o))        {            $b=substr($s,$two+1);        }else        {            $b=substr($s,$two);        }        if(strtolower($a)==strtolower(strrev($b)))        {            return true ;        }    }    return false;}//判斷迴文的第2中方法function is_huiwen($s){    if(strtoupper($s) == strtoupper(implode("",array_reverse(str_split($s)))))    {        return true ;    }    return false ;}function delete_pos($str,$min,$max){    $s = str_split($str);    if($max > strlen($str))    {        $max = strlen($str);    }    for($i=$min;$i<$max;$i++)    {        unset($s[$i]);    }    return implode("",array_values($s));}function method1($string){    $end = -1;    for($i=0;$i<strlen($string);$i++)    {        if(is_huichuan($string))        {            header("Content-type:text/html;charset=utf-8");            echo"<br/>";            echo "是迴文";            break;        }        $pos = strrpos($string,$string[$i],$end);        if(is_numeric($pos))        {            //表示是第一個 直接刪除 的個字元            if($pos == $i)            {                $string= delete_str_pos($string,$pos); //去除字串                $i--;            }elseif($pos == strlen($string)-1)            {                //這次是最後一個字串 為迴文                $end = $end -1;            }else            {                $string=  delete_pos($string,$pos+1,strlen($string)-$i);            }        }else        {            //如果沒有找到 直接刪除  $i 的字元 表示不正確            $string= delete_str_pos($string,$i); //去除字串            $i--;        }        echo "<br/>";        echo $string;    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.