题解 | #判断一个链表是否为回文结构#

判断一个链表是否为回文结构

https://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f


    public boolean isPail (ListNode head) {
        // write code here
        if (head == null || head.next == null){
            return true;
        }
        //定义快慢指针
        ListNode fast = head.next;
        ListNode slow = head;
        //快指针走两步,慢指针走一步
        while (fast != null && fast.next != null){
            slow = slow.next;
            fast = fast.next.next;
        }
        //此时慢指针指向链表的中点,将链表断开
        ListNode mid = slow.next;
        slow.next = null;

        //反转slow指向的链表,即链表的后半段
        ListNode newHead = null;
        while (mid != null){
            ListNode temp = mid.next;
            mid.next = newHead;
            newHead = mid;
            mid = temp;
        }
        //比较链表的前半段head和后半段newHead是否相等
        while (head != null && newHead != null){
            if (head.val != newHead.val){
                return false;
            }
            head = head.next;
            newHead = newHead.next;
        }
        return true;
    }
全部评论

相关推荐

多多啊 多多啊 上来四道算法题算法题直播排序,整体比较简单把对象写出来,然后比较规则写明白就OK了。唯一一道A100%的电车充电如何最省钱,到目的地如何充电的钱最少,路上有充电站,每个电站价格不一样。用了DP来做,但感觉是贪心的样子,最后没招了,把不能到的情况给干了出来,过了8%日志分析纠错,滑动窗口,但我最后结果永远少一,过了15%没看,力竭了燃尽了多多 以后牛客不用后台找我了,笔试夯爆了
淮竹c:不好意思,打扰大家🙏我是一个拼多多骑手,小电驴的最大电量为C,我的最大电量有1e9这么promax😭😭😭需要从x=0处走到x=L,L足足有1e9那么长处,途中有n个充电站,🙏🙏每个充电站的距离和电价分别为di和pi,初始电量是满的😭😭😭请告诉我到达终点最少要花多少钱😭😭😭求求大家把这些钱转给我
查看2道真题和解析
点赞 评论 收藏
分享
02-04 17:01
南昌大学 Java
牛客96763241...:拿插件直接投就完了,这玩意看运气的
点赞 评论 收藏
分享
03-10 22:53
吉林大学 golang
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务