/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isPalindrome(ListNode head) {
//第一步:遍历链表,将值复制带数组列表中
//创建一个curr指向当前节点
ListNode curr = head;
List<Integer> list =new ArrayList<>();
while(curr !=null){
list.add(curr.val);
curr=curr.next;
}
//第二步:使用双指针来检查是否回文
int front =0;
int last = list.size()-1;
//直到front>last则返回true
while(front < last){
//如果前指针得到的值不等于后指针获得到的值
//则返回fase
if(!list.get(front).equals(list.get(last))){
return false;
}
front++;
last--;
}
return true;
}
}
leetcode 234 回文链表(java)
最新推荐文章于 2021-12-29 21:07:58 发布