首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何高效判断回文单链表?

    预计阅读时间:7 分钟 今天聊聊如何判断一个链表是不是回文链表。...下面扩展这一最简单的情况,来解决:如何判断一个「单链表」是不是回文。...一、判断回文单链表 输入一个单链表的头结点,判断这个链表中的数字是不是回文: /** * 单链表节点的定义: * public class ListNode { * int val; *...三、最后总结 首先,寻找回文串是从中间向两端扩展,判断回文串是从两端向中间收缩。 对于单链表,无法直接倒序遍历,可以造一条新的反转链表,可以利用链表的后序遍历,也可以用栈结构倒序处理单链表。...具体到回文链表的判断问题,由于回文的特殊性,可以不完全反转链表,而是仅仅反转部分链表,将空间复杂度降到 O(1),不过需要注意链表长度的奇偶。 希望本文对你有帮助,顺手点个在看或者分享给你的朋友~

    1.3K10

    判断单链表是否存在环

    周末参加完美世界校园招聘中就有一道判断单链表是否有环的编程题。 写一个C/C++函数,来判断一个单链表是否具有环,如果存在环,则给出环的入口点。...有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。 现在需要解决的问题有以下两个: 如何判断一个链表是不是这类链表?...判断链表是否存在环,办法为: 设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇...= fast) { slow = slow->next; fast = fast->next; } return slow; } 判断两个单链表是否相交

    3.9K90
    领券