判断字符串是否是对称的

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 }
原文地址:https://www.cnblogs.com/h07061108/p/symmetry.html