您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法

回文链表(图文)

第十三双眼睛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:

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

本站推荐

站点信息

  • 网站名称:JavaStudy
  • 建站时间:2019-1-14
  • 网站程序:帝国CMS7.5
  • 文章统计246篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们