leetcode链表之如何解决回文链表问题

发布时间:2021-12-15 11:29:48 作者:小新
来源:亿速云 阅读:166

这篇文章主要为大家展示了“leetcode链表之如何解决回文链表问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“leetcode链表之如何解决回文链表问题”这篇文章吧。

题目

请判断一个链表是否为回文链表。

示例 1:

输入: 1->2
输出: false

示例 2:

输入: 1->2->2->1
输出: true

进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isPalindrome(ListNode head) {
        if (head == null) {
            return true;
        }
        Stack stack = new Stack();
        ListNode cursor = head;
        while(cursor != null) {
            stack.push(cursor.val);
            cursor = cursor.next;
        }

        cursor = head;
        while(cursor != null) {
            int val = (int)stack.pop();
            if (val != cursor.val) {
                return false;
            }
            cursor = cursor.next;
        }
        return true;
    }
}

以上是“leetcode链表之如何解决回文链表问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 【链表问题】环形单链表约瑟夫问题
  2. LeetCode如何判断回文链表

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

leetcode

上一篇:Mybatis Plus关联查询怎么实现

下一篇:如何分析Kafka和消息队列之间的超快速比较

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》