回文链表

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

示例 1:

输入: 1->2
输出: false
示例 2:

输入: 1->2->2->1
输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isPalindrome(ListNode head) {
        List list = new ArrayList();
        ListNode p =head;
        while(p!=null){
            list.add(p.val);
            p=p.next;
        }

        for(int i = 0 ;i< list.size() /2;i++){
            if(!list.get(i).equals(list.get(list.size() - 1 -i))){
                return false;
            }
        }

        return true;
    }
}

 

发布了48 篇原创文章 · 获赞 13 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 终极编程指南 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览