• 判断字符串是否是对称的


    1.判断字符串是不是对称的(PHP版本),兼容中文字符.

     1 function symmetry(){
     2     $str = "123爱中国0国中爱321";
     3     $len = iconv_strlen($str,'utf-8');
     4     $mid = $len/2;
     5     $bFlag = true;
     6     for($i=0; $i<$mid; $i++){
     7         if(iconv_substr($str, $i, 1, 'utf-8') != iconv_substr($str, $len-$i-1, 1, 'utf-8')){
     8             $bFlag = false;
     9             break;
    10         }
    11     }
    12     if($bFlag){
    13         echo '原字符串是对称的';
    14     }else{
    15         echo '原字符串不是对称的';
    16     }
    17 }

     PS:输出字符串以什么为对称抽:

     1 function symmetry(){
     2     $str="123爱中国0国中爱321";
     3     $len=iconv_strlen($str,'utf-8');//计算字符串长度
     4     if($len%2==0)//如果字符串长度为偶数
     5     {
     6         $mid=$len/2;//计算字符串一半的长度
     7         for($i=0;$i<$mid;$i++)
     8         {
     9             if(iconv_substr($str,$i,1,'utf-8')==iconv_substr($str,$len-$i-1,1,'utf-8'))
    10             { //截取对称位置字符串时要减1是因为字符串索引从0开始
    11                 $eq++;//比较对称位置的字符是否相等,如果相等计数器自增
    12             }
    13         }
    14         if($eq==$mid)echo '原字符串是对称的';//如果对称位置字符串相等的个数恰好等于字符串一半的长度,说明原字符串是对称的
    15     }
    16     elseif($len%2!=0)//如果字符串长度为奇数,说明字符串只能关于最中间的字符串对称
    17     {
    18         $mid=ceil($len/2)-1;//计算最中间字符的序号
    19         for($i=0;$i<$mid;$i++)//这里我们比较的对称位置是出去最中间字符以外的位置
    20         {
    21             if(iconv_substr($str,$i,1,'utf-8')==iconv_substr($str,$len-$i-1,1,'utf-8'))
    22             { //截取对称位置字符串时要减1是因为字符串索引从0开始
    23                 $eq++;//比较对称位置的字符是否相等,如果相等计数器自增
    24             }
    25         }
    26         if($eq==$mid)echo '原字符串是关于字符"'.iconv_substr($str,$mid,1,'utf-8').'"对称的';
    27         //如果对称位置字符串相等的个数恰好等于字符串长度一半减去1,说明原字符串是关于中间字符对称的
    28     }
    29 }

    2.判断字符串是不是对称的(JAVA版本)

     1 public class IsSymmetry {
     2   public static void main(String[] args)  {
     3    String str = "DEED";
     4    int strLength = str.length();
     5    boolean bSymmetry = true;
     6    for(int i=0; i<strLength; i++){
     7         if(str.charAt(i) != str.charAt(strLength - i -1)){
     8             bSymmetry = false;
     9             break;
    10         }
    11    }
    12    if (bSymmetry)
    13       System.out.println("输入字符串是回文.");
    14    else
    15       System.out.println("输入字符串不是回文.");
    16    }
    17 }
  • 相关阅读:
    在react-native中dva的使用
    js获取任意一天的0点和23:59:59时间
    IntelliJ IDEA 快捷键(转载收藏)
    Android中对已安装应用的管理实现
    Retrofit的初次使用
    GreenDao的初次使用--号称Android最快的关系型数据库
    RxJava操作符的简单使用
    dagger2的初次使用
    Android-沉浸式状态栏的实现
    Mac之如何查看已用端口
  • 原文地址:https://www.cnblogs.com/h07061108/p/symmetry.html
Copyright © 2020-2023  润新知