首先说明回文:如:"灵山大佛,佛大山灵","客上天然居,居然天上客"等等,都是美妙的符合正念倒念都一样的回文句。
回文数则是有类似22、383、5445、12321,不论是从左向右顺读,还是从右向左倒读,结果都是一样的特征。
在数组中{ 1, 2, 5, 8, 6, 8, 5, 2, 1 }, { 2, 5, 2 }, { 2 }等都是回文。
- 首先,要判断是否是回文PalindromeList,要得到数组的长度,因此,写一个getLength类来得到长度。
public int getLength(ListNode head) {
int count =0;
ListNode cur = head;
while(cur != null) {
cur = cur.next;
count++;
}
return count;
}
- 因为回文是对称的,所以要得到数组的中间数,思路是从中间将它分为俩个数组,然后俩个数组的值进行比较,如果俩个数组完全相等,则该数组为回文,否则,就不是。用一个getMiddle类来得到中间数。
public ListNode getMiddle