求一个String 类型数组是不是都是回文,是返回1,否则返回-1

package 回文;

public class yhisHuiWen {
  public static void ishuiwen(String arr[]){

	  boolean flag=true;//标志位
	  for(int i=0;i<arr.length;i++){
		  StringBuilder sb=new StringBuilder(arr[i]);
		  String s=sb.reverse().toString();//翻转
		  for(int j=0;j<s.length();j++){
			  if(s.charAt(j)!=arr[i].charAt(j)){		//有一个不为回文就指标值位为false
				  flag=false;
				  break;
			}
		  }
	  }
	  if(!flag){
		  System.out.println("-1");
	  }
	  else System.out.println("1");
  }

	public static void main(String[] args) {
		String arr[]={"aba","hhssaasshh","hellolleh"};
		ishuiwen(arr);
	}
}

  

时间: 2024-07-31 11:19:21

求一个String 类型数组是不是都是回文,是返回1,否则返回-1的相关文章

5.13 添加最少字符使字符串整体都是回文字符串

[题目]: 给定一个字符串str,如果可以在str的任意位置添加字符,请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果 举例: str="ABA",str本身就是回文串,不需要添加字符,所以返回"ABA" str="AB",可以在'A'之前添加'B',使str整体都是回文串,故可以返回"BAB",也可以在'B'之后添加'A',使str整体都是回文串,故也可以返回"ABA",总之,只要添加的

求一个最大子数组的和 Ⅲ

要求: • 输入一个整形数组,数组里有正数也有负数. • 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. • 如果数组A[0]……A[j-1]首尾相邻,允许A[i-1], …… A[n-1], A[0]……A[j-1]之和最大. • 同时返回最大子数组的位置. 求所有子数组的和的最大值.要求时间复杂度为O(n). 设计思路:核心算法同求一个最大子数组的和Ⅱ相同,将所有数组一遍循环改为无限循环,只需选一个时间跳出即可. 具体代码如下: 1 public static void m

求一个二维数组的最大子数组

小组成员:周其范  胡宝月 上课的时候老师布置的题目是求一个二维数组的最大子数组,因为以前的时候老师要求我们做过一个题目就是求一个数组的最大子数组,当时的方法就是利用循环把所有可能算出,然后比较那个最大就是那个,也就是所说的枚举法.因此这次我们同样的想到了枚举法.但当我们讨论的时候发现了二维有些麻烦,所以我俩在想有没有什么别的方法,最后我们想到了其实二维数组和一位数组有相似之处,可以先把二维数组变成一维数组在算. 对于imin和imax之间的的每一列,都相当于一个一维的元素,假设数组是BC,那么

IDEA技巧-快速编写一个String类型的JSON对象

1.先编写一个String类型空值对象 String strJson = ""; 2.将光标放在""中间 3.Alt+Enter调出Inject language or reference视图界面,回车选中Inject language or reference,再选择JSON组件,回车后光标还在字符串中间 4.光标在""中间,再次Alt+Enter,选中Edit JSON Fragment并回车,然后编写JSON对象,JSON对象会自动格式化进

一个5位数,判断它是不是回文数

题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. 1 package com.li.FiftyAlgorthm; 2 3 import java.util.Scanner; 4 5 /** 6 * 题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. 7 * @author yejin 8 */ 9 public class Palindrom { 10 public static void main(Strin

C语言实现一个int类型数组里除了两个数字之外,其他的数字都出现了两次,找出这两个数字

题目是这样叙述的:在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字. 要求:时间复杂度为O(N),空间复杂度为O(1). 请看我的分析:将这道题简单化:一个数组中只有一个数字出现一次,其他数字都是成对出现的,这时我们可以根据异或运算符的特性:A^B^A = B; 0 ^ A = A:我们可以将这个数组的全部元素依次做异或运算,最终结果就是那个只出现一次的数字.不会的可看本人(2019-04-04)那天的博客 如果这个数组中出现两个不同的数字,而其他数字均出现两次

输入一个五位正整数,使用数组判断它是不是回文数(例如12321是回文)

public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("请输入一个五位正整数:"); int num = scan.nextInt(); String str = String.valueOf(num); char[] a = str.toCharArray(); boolean flag = true; for(int i = 0 ; i &

(数组)字符串的回文构词法( anagrams)

题目:https://www.nowcoder.com/practice/e84e273b31e74427b2a977cbfe60eaf4?tpId=46&tqId=29130&tPage=3&rp=3&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking 思路: 首先简单介绍一下Anagram(回文构词法).Anagrams是指由颠倒字母顺序组成的单词,比如"dormitory"颠倒字母顺序会变成&

一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

package lianxi; import java.util.*; public class Huiwenshu { public static void main(String[] args) { System.out.println("输入一个5位的正整数"); Scanner shu=new Scanner(System.in); String a=shu.next(); String b=""; for (int i = a.length()-1; i