小视频代码,反转链表的实现思路分析

小视频代码,反转链表的实现思路分析

复制代码
//思路一:
//使用指针
public ListNode ReverseList(ListNode head) {
    if(head==null || head.next==null){
        return head;
    }

    ListNode pre=null;
    ListNode cur=head;

    while(cur!=null){
        ListNode next = cur.next;

        cur.next = pre;
        pre=cur;
        cur=next;
    }
    return pre;
}
复制代码
复制代码
//思路二:
//使用递归
public ListNode ReverseList(ListNode head) {
        if(head==null || head.next==null){
            return head;
        }

        //tail 是 head.next 链表反转后的最后一个结点 
        ListNode tail = head.next;
        
        //反转 head.next 链表
        ListNode next = ReverseList(head.next);
        
        head.next = null; //注意:十分重要:head.next 链表反转后,未反转的只有 head 一个结点
        tail.next = head;
        return next;
    }
复制代码

以上就是小视频代码,反转链表的实现思路分析, 更多内容欢迎关注之后的文章

posted @   云豹科技-苏凌霄  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2023-11-23 直播平台开发,加载网页、html文件显示加载进度
2023-11-23 直播平台源码,vue图片中划框截取部分图片
2023-11-23 直播系统源代码,vue实现无缝滚动
2022-11-23 视频直播app源码,JS使用数组方法实现字符串反转
2022-11-23 直播app源码,输入密码和用户名调用开发者工具
2022-11-23 直播软件搭建,vue3应用elementPlus table并滚动显示
2021-11-23 直播app源码,Flutter 弹窗组件
点击右上角即可分享
微信分享提示