【思路】
【代码】
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */
class Solution {
public boolean isPalindrome(ListNode head) {
ListNode temp = head;
int cnt=0;
while (temp !=null) //求链表长度
{
cnt ++;
temp = temp.next;
}
int arr[] = new int[cnt]; //将列表的value值保存到数组里面
for (int i = 0; i < cnt; i++) {
arr[i] = head.val;
head = head.next;
}
boolean flag = true; //默认是真,如果链表是空的,就默认返回true
for (int i = 0,j = cnt - 1; i < j; i++,j--) //双指针遍历数组
{
if (arr[i] !=arr[j])
{
flag = false;
break;
}
}
return flag;
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_38689263/article/details/120402446
内容来源于网络,如有侵权,请联系作者删除!