java 检查数组中的所有元素是否都是回文

jc3wubiy  于 2022-10-29  发布在  Java
关注(0)|答案(1)|浏览(127)
class GfG
{
    public static int palinArray(int[] a, int n)
           {
               int k;
               int s=0;
               int m=1;
               int remainder;

                  for(int i=0;i<n;i++){
                      k=a[i];
                      while(a[i]!=0){
                          remainder=a[i]%10;
                          s=s*10+remainder;
                          a[i]=a[i]/10;
                      }
                      if(k!=s){
                          m=0;
                          break;
                      }

                      else
                        m=1;

                  }

                  return m;

           }
}

我试着取数组中的每个元素并检查它是否是回文。如果给定数组中的所有元素都是回文,那么它应该返回1,如果不是,那么它应该返回0。

例如*输入 * 5 111 222 333 444 555 * 预期输出 * 1 * 我的输出 * 0

谢谢你的帮助。

lp0sw83n

lp0sw83n1#

您可以将每个int转换为String,然后检查String是否为回文:

static boolean isPalyndrome(String value) {
        for (int i = 0; i < value.length() / 2; ++i)
            if (value.charAt(i) != value.charAt(value.length() - 1 - i))
                return false;

        return true;
    }

    static boolean allPalyndroms(int[] values) {
        for (int i = 0; i < values.length; ++i)
            if (!isPalyndrome((new Integer(values[i])).toString()))
                return false;

        return true;
    }

然后,如果palinArray签名是固定的,则可以将其实现为

public static int palinArray(int[] a, int n) {
  return allPalyndroms(a) ? 1 : 0;
}

相关问题