回文链表
设计一种方式检查一个链表是否为回文链表。
您在真实的面试中是否遇到过这个题?
Yes
样例
View Code
1->2->1
就是一个回文链表。
先将链表遍历,转成String数组,在对数组判断
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class Solution { /** * @param head a ListNode * @return a boolean */ public boolean isSymmetricalListNode(ListNode head) { StringBuilder sb = new StringBuilder(); if (head == null) return true; sb.append(head.val); head = head.next; while (head != null) { sb.append(",").append(head.val); head = head.next; } return isSymmetricalStrings(String.valueOf(sb).split(",")); } public static boolean isSymmetricalStrings(String[] strings) { int l = 0; int r = strings.length - 1; while (r > l) { if (!strings[l++].equals(strings[r--])) return false; } return true; } }