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

这篇文章主要为大家展示了“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链表之如何解决回文链表问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前文章:leetcode链表之如何解决回文链表问题
标题链接:http://myzitong.com/article/jgsijo.html