欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【LeetCode】234. 回文链表

程序员文章站 2022-04-17 15:52:30
...

【LeetCode】234. 回文链表

直观的思路,我创建一个stack,然后遍历链表,向stack中压栈,然后再次遍历链表,同时从stack中弹栈,如果完全吻合,就说明是回文链表。
public class Solution {
    public boolean isPalindrome(ListNode head) {
        Stack<ListNode> stack = new Stack<>();
        ListNode tmp = head;
        while (tmp != null) {
            stack.add(tmp);
            tmp = tmp.next;
        }
        tmp = head;
        while (tmp != null) {
            if (tmp.val != stack.pop().val) return false;
            tmp = tmp.next;
        }
        return true;
    }
}

也可以将链表中的数据复制到linkedlist中,然后双指针辨别是不是回文结构。
相关标签: 算法