字符串对称 计算插入字符最小对称数

//题目:要求对任意一个字符串,通过加入若干字符使其对称
//	如abcda至少要插入两个字符,两个一下无法使其对称abdcdba,adbcdba
	/*
	 *	思路: 
	  		判断首尾是否相等 , 有两种情况,一次的从两侧向中间推移
	 * a b c d 
	 *
	 */
	public static int symmetry(String source){  //字符串对称
		int length = source.length();
		int count = 0;   // 计算的是加入字母的个数
		int compareIndex = length-1;  // 记录的是最右边的索引
		
		// 
		for(int i=0;i<=compareIndex;i++){
			char begin = source.charAt(i);  //首
			char end  = source.charAt(compareIndex); //尾
			if(begin==end){  //首尾相等
				compareIndex--; //向中间靠拢
				continue; //结束本次循环 不用插入字符
			}else{
				count++;  //记录添加的字符
			}
		}
		return count;
		
	}

你可能感兴趣的:(字符串,ACM)