题解 | #判断一个链表是否为回文结构#

判断一个链表是否为回文结构

https://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f

import java.util.*;

public class Solution {
    public boolean isPail (ListNode head) {
        if (head == null || head.next == null)
            return true;
        ListNode ln = rever(head);
        while(head != null) {
            if (head.val != ln.val)
                return false;
            head = head.next;
            ln = ln.next;
        }
        return true;
    }
    public ListNode rever(ListNode ln) {
        ListNode result = new ListNode(1);
        ListNode curr = result;
        List<Integer> arr = new ArrayList<>();
        while(ln != null) {
            arr.add(ln.val);
            ln = ln.next;
        }
        for (int i = arr.size() - 1; i >= 0; i--){
            curr.next = new ListNode(arr.get(i));
            curr = curr.next;
        }
        return result.next;
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务