您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法
回文链表(图文)
第十三双眼睛2024-01-23【数据结构与算法】人已围观
简介回文链表
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。
思路:将链表遍历一遍,存入一个集合,然后用两个指针分别指向集合的头部和尾部,循环集合,每次将左边的指针后移一位,右边的指针迁移一位,依次比较两个元素是否相同,如果有不相同的,则证明不是回文链表,循环完毕,则证明是回文链表。代码如下:
public static boolean method1(ListNode head) { if (head == null) { return true; } List<Integer> list = new ArrayList<>(); ListNode p = head; while (p != null) { list.add(p.val); p = p.next; } int left = 0; int right = list.size() - 1; while (left <= right) { if (list.get(left).intValue() != list.get(right).intValue()) { return false; } left ++ ; right --; } return true; } |
Tags:
很赞哦! ()
上一篇:消失的数字(图文)
下一篇:链表的中间节点(图文)