题解 | #判断一个链表是否为回文结构#
判断一个链表是否为回文结构
https://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类 the head
* @return bool布尔型
*/
public boolean isPail (ListNode head) {
ArrayList<ListNode> list = new ArrayList<>();
while (head != null) {
list.add(head);
head = head.next;
}
int size = list.size();
if (size % 2 == 0) {
int r = size / 2;
int l = r - 1;
while (l >= 0) {
if (list.get(l).val != list.get(r).val) return false;
l--;
r++;
}
return true;
} else {
int r = size / 2 + 1;
int l = size / 2 - 1;
while (l >= 0) {
if (list.get(l).val != list.get(r).val) return false;
l--;
r++;
}
return true;
}
}
}
查看6道真题和解析