【LeetCode】第16天 - 234. 回文链表

简介: 【LeetCode】第16天 - 234. 回文链表

@TOC

题目描述

在这里插入图片描述

解题思路

  • 遍历链表,将每个节点值依次入栈;
  • 再次遍历链表,每访问一个节点就出栈一个元素,比较该节点值与出栈元素是否相等,不等返回false;
  • 成功遍历,返回true。

代码实现

/**
 * 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) {
        Stack<Integer> stack = new Stack<Integer>();
        ListNode temp = head;
        while(temp != null){        //遍历链表,入栈节点值
            stack.push(temp.val);
            temp = temp.next;
        }
        while(head != null){
            if(head.val != stack.pop()){        //依次比较节点值与出栈元素是否相等
                return false;
            }
            head = head.next;
        }
        return true;
    }
}
目录
相关文章
【移除链表元素】LeetCode第203题讲解
【移除链表元素】LeetCode第203题讲解
|
15天前
【力扣】409.最长回文串
【力扣】409.最长回文串
|
15天前
【力扣】21. 合并两个有序链表
【力扣】21. 合并两个有序链表
|
2月前
|
存储 JavaScript
leetcode82. 删除排序链表中的重复元素 II
leetcode82. 删除排序链表中的重复元素 II
22 0
|
2月前
leetcode83. 删除排序链表中的重复元素
leetcode83. 删除排序链表中的重复元素
10 0
|
2月前
leetcode2807.在链表中插入最大公约数
leetcode2807.在链表中插入最大公约数
16 0
|
2月前
leetcode2487.从链表中移除节点
leetcode2487.从链表中移除节点
20 1
|
2月前
|
存储 算法
LeetCode刷题--- 61. 旋转链表(快慢指针+闭合为环)
LeetCode刷题--- 61. 旋转链表(快慢指针+闭合为环)
|
2月前
|
算法 索引
LeetCode刷题--- 138. 复制带随机指针的链表(哈希表+迭代)
LeetCode刷题--- 138. 复制带随机指针的链表(哈希表+迭代)
|
2月前
|
机器学习/深度学习 算法
力扣刷题日常(一)
力扣刷题日常(一)
20 2

热门文章

最新文章