您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法
回文链表(图文)
第十三双眼睛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:
很赞哦! ()
上一篇:消失的数字(图文)
下一篇:链表的中间节点(图文)
相关文章
随机图文
-
两数之和
两数之和 给定一个整数数组和一个整数目标值,请你在数组中找出何为目标值的那两个整数,并返回,你可以假设每种输入只会对应一种答案,但是数组中的同一个元素不能在数组中出现多次,可以按任意顺序返回答案 -
移除链表元素(图文)
移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 -
同构字符串(图文)
同构字符串 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。 -
选择排序法(图文)
选择排序法