数组的插入
尾部插入
直接一步完成
// 末尾插入
public void add(String task){
this.array[this.size] = task;
this.size++;
}
中间插入
插入的地方后面部分要向右移动一个单位
// 添加元素在中间
public void add(int index, int element) {
//如果插入的索引值<0,或者>数组长度,结束程序
if (index < 0 || index > this.size) {
return;
}
// 元素依次右移
for (int i = this.size - 1; i >= index; i--) {
this.array[i + 1] = this.array[i];
}
// 插入元素
this.array[index] = element;
// 调整数组长度,因为插入一个元素,长度+1
this.size++;
}
数组的删除
与插入相反
// 删除元素
public void remove(int index) {
if(index<0||index>this.size){
return;
}
//删除的索引值后面部分全部左移一个单位
for (int i=index;i<this.size-1 ;i++ ) {
this.array[i] = this.array[i+1];
}
// 删除最后一个元素
this.array[this.size] = 0;
this.size--;
}
判断是否为回文字符串
package com.Array;
public class Demo {
// 判断是否为回文字符串
public static boolean isPalindrome(String content) {
if(content.length()==1){
return true;
}else {
int left = 0;
int right = content.length()-1;
while (right >left){
if(content.charAt(left)!=content.charAt(right)){
return false;
}
//左指针右移,右指针左移直到左指针的索引大于右指针
left++;
right --;
}
}
return true;
}
public static void main(String[] args) {
System.out.println(isPalindrome("洞帘水挂水帘洞"));
System.out.println(isPalindrome("上海自来水来自海上"));
System.out.println(isPalindrome("maddam"));
System.out.println(isPalindrome("m"));
System.out.println(isPalindrome("maxcam"));
}
}