1. 程式人生 > >判斷一個連結串列是否為迴文結構(java實現)

判斷一個連結串列是否為迴文結構(java實現)

迴文結構就是節點資料對稱的。例如:1->2->3->2->1.

實現方式,用輔助棧,遍歷連結串列存入棧中。之後pop棧中元素與連結串列資料比較,相同是迴文結構。

public static boolean isPalindrome(ListNode head) {
        if (head == null)
            return false;
        Stack<ListNode> stack = new Stack<ListNode>();
        ListNode p = head;
        while
(p != null) { stack.push(p); p = p.nextNode; } p = head; while (p != null) { if (p.values != stack.pop().values) return false; p = p.nextNode; } return true; } // 連結串列節點類 class ListNode { public
int values; public ListNode nextNode; public ListNode(int data) { this.values = data; } }