链表分割,链表的回文结构等经典例题解析!

这篇具有很好参考价值的文章主要介绍了链表分割,链表的回文结构等经典例题解析!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.链表的分割

链接:链表分割_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/0e27e0b064de4eacac178676ef9c9d70?tpId=8&&tqId=11004&rp=2&ru=/activity/oj&qru=/ta/cracking-the-coding-interview/question-ranking

public class Partition {

    public ListNode partition(ListNode pHead, int x) {

        ListNode cur = pHead;

        ListNode bs = null;

        ListNode be = null;

        ListNode as = null;

        ListNode ae = null

        if(pHead == null) {

            return null;

        }

        while (cur != null) {     //使用cur遍历所有节点

            if(cur.val < x) {

                if(bs == null) {

                    bs = cur;

                    be = cur;

                }else {

                    be.next = cur;

                    be = be.next;

                }

            }else {

                // cur.val >= x

                if(as == null) {

                    as = cur;

                    ae = cur;

                }else {

                    ae.next = cur;

                    ae = ae.next;

                }

            }

            cur = cur.next;

        }

        if(bs == null) {

            return as;

        }

        be.next = as;

        if(as != null) {        //尾节点很可能不是空,所以要再次规定尾结点

            ae.next = null;

        }

        return bs;

    }

}文章来源地址https://www.toymoban.com/news/detail-826494.html

2.链表的回文结构

链接:

链表的回文结构_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?tpId=49&&tqId=29370&rp=1&ru=/activity/oj&qru=/ta/2016test/question-ranking//快慢指针求解

import java.util.*;

/*

public class ListNode {

    int val;

    ListNode next = null;

    ListNode(int val) {

        this.val = val;

    }

}*/

public class PalindromeList {

    public boolean chkPalindrome(ListNode A) {

        ListNode cur = null;

        ListNode slow = A;

        ListNode fast = A.next;

        //找中间节点

        while(fast != null && fast.next != null) {

            slow = slow.next;

            fast = fast.next;

        }

        ListNode Middle = slow;

       //翻转中心节点之后的链表值

            while(cur != null) {

            cur = Middle.next;

            ListNode curNext = cur.next;

            curNext.next = cur;

            cur = curNext;

            Middle = Middle.next;

        }

        cur.next = null;

//判断从链表开头,与中心节点之后的数值是否相等

        while(slow != null) {

            if(A.val == slow.val) {

                A = A.next;

                slow = slow.next;

            }else {

                return false;

            }

        }

        return true;

    }

}

到了这里,关于链表分割,链表的回文结构等经典例题解析!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一起学数据结构(3)——万字解析:链表的概念及单链表的实现

    上篇文章介绍了数据结构的一些基本概念,以及顺序表的概念和实现,本文来介绍链表的概念和单链表的实现,在此之前,首先来回顾以下顺序表的特点: 1. 顺序表是一组地址连续的存储单元依次存储的线性表的数据结构,逻辑上:顺序表中相邻的数据元素,其物理次序也是

    2024年02月13日
    浏览(54)
  • 数据结构实验---顺序表的合并---链表的基本操作---重点解析约瑟夫问题

    实验的写法多种多样,但本文并未采用 #define 定义容量的写法,这样写已经是很老旧过时的写法。所有实验主体采用均为动态开辟,后续如果利用 C++ 来写或许会应用更多语法… 本篇展示数据结构的两个实验 其中,重点分析约瑟夫问题 实验中代码的命名风格等均与下方博客

    2024年02月16日
    浏览(62)
  • 链表的回文结构

    对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针 A ,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: 1-2-2-1 返回:true 题目链接:链表的回文结构_牛客题霸_牛客网 

    2024年02月06日
    浏览(51)
  • C语言---数据结构实验---顺序表的合并---链表的基本操作---重点解析约瑟夫问题

    实验的写法多种多样,但本文并未采用 #define 定义容量的写法,这样写已经是很老旧过时的写法。所有实验主体采用均为动态开辟,后续如果利用 C++ 来写或许会应用更多语法… 本篇展示数据结构的两个实验 其中,重点分析约瑟夫问题 实验中代码的命名风格等均与下方博客

    2024年02月16日
    浏览(70)
  • 【nowcoder】链表的回文结构

    牛客题目链接 链表的回文结构

    2024年01月24日
    浏览(43)
  • 【链表OJ题 6】链表的回文结构

    目录 题目来源: 代码实现: 思路分析: 实现过程: 链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 题目描述: 本题的难点在于时间复杂度为O(n),空间复杂度为O(1)。 因为回文结构是正着读反着读是一样的,因此我们 找到链表的中间结点,然后从中间节点开始逆置到尾结点,

    2024年02月06日
    浏览(40)
  • LeetCode_链表的回文结构

    ✨✨所属专栏:LeetCode刷题专栏✨✨ ✨✨作者主页:嶔某✨✨ 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 就比如:1-2-3

    2024年04月26日
    浏览(41)
  • 【Leetcode】反转链表 合并链表 相交链表 链表的回文结构

      目录 一.【Leetcode206】反转链表 1.链接 2.题目再现  3.解法A:三指针法 二.【Leetcode21】合并两个有序链表 1.链接 2.题目再现  3.三指针尾插法 三.【Leetcode160】相交链表 1.链接 2.题目再现 3.解法 四.链表的回文结构 1.链接 2.题目再现  3.解法 1.链接 反转链表 2.题目再现  3.解法

    2024年02月02日
    浏览(50)
  • Java 算法篇-链表的经典算法:判断回文链表、判断环链表与寻找环入口节点(“龟兔赛跑“算法实现)

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍       文章目录         1.0 链表的创建         2.0 判断回文链表说明         2.1 快慢指针方法         2.2 使用递归方式实现反转链表方法         2.3 实现判断回文链表 - 使用快慢指针与反转链表

    2024年02月05日
    浏览(62)
  • 【面试必刷TOP101】判断一个链表是否为回文结构 & 链表的奇偶重排

    目录 题目:判断一个链表是否为回文结构_牛客题霸_牛客网 (nowcoder.com) 题目的接口: 解题思路: 代码: 过啦!!! 题目:链表的奇偶重排_牛客题霸_牛客网 (nowcoder.com) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 这道题我的思路还是比较清晰的,主要是三步走

    2024年02月07日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包