【链表面试题:腾讯】反转链表

简介: 【链表面试题:腾讯】反转链表

反转链表

思路

 * 1.先定义一个节点 reverseHead = new HeroNode();
 * 2.从头遍历原来的链表,每次遍历一个节点就将其取出并且放到信的链表的最前端,
 * 3.原来的链表head.next = reverseHead.Next

思路执行流程图

1.png



代码

/**
     * @author 冷环渊 Doomwatcher
     * @context: 腾讯面试题 反转链表
     * 思路:
     * 1.先定义一个节点 reverseHead = new HeroNode();
     * 2.从头遍历原来的链表,每次遍历一个节点就将其取出并且放到信的链表的最前端,
     * 3.原来的链表head.next = reverseHead.Next
     * @date: 2021/12/18 15:38
     * @param head
     * @return: void
     */
    public static void reverseList(HeroNode head) {
        if (head.next == null || head.next.next == null) {
            return;
        }
        //需要新的一个空的头
        HeroNode reverseHead = new HeroNode(0, "", "");
        // 获得第一个有效的节点
        HeroNode cur = head.next;
        //指向[cur]的下一个的节点
        HeroNode next = null;
        while (cur != null) {
            //保存当前的节点的下一个位置 有用
            next = cur.next;
            // 将cur的下一个指向 新的链表的最前端
            cur.next = reverseHead.next; 
            //将新链表的最前端为cur
            reverseHead.next = cur;
            //cur 继续向后遍历
            cur = next;
        }
        head.next = reverseHead.next;
    }

输出结果

2.png

相关文章
|
3月前
面试题 02.04:分割链表
面试题 02.04:分割链表
37 0
|
1月前
|
存储 算法
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
|
1月前
|
C语言
反转链表、链表的中间结点、合并两个有序链表【LeetCode刷题日志】
反转链表、链表的中间结点、合并两个有序链表【LeetCode刷题日志】
|
1月前
|
存储 算法 Java
【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)
【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)
42 0
|
2月前
|
安全 算法 数据安全/隐私保护
腾讯面试官:工作两年了,这么简单的cisp题你都不会?
注册信息安全专业人员,是经中【国信息安全产品测评认证中心】实施的国家【认证】,对信息安全人员执业资质的认可。该证书是面向【信息安全】企业、信息安全咨询【服务机构】、信息安全【测评机构】、【政府机构】、社会各组织、团体、大专院校以及企事业单位中负责信息系统建设、运行维护和管理工作的信息安全专业人员所颁发的专业资质证书。
72 0
腾讯面试官:工作两年了,这么简单的cisp题你都不会?
|
2月前
|
C语言
腾讯面试真题(C语言)
腾讯面试真题(C语言)
|
3月前
|
Python 索引 Java
Python每日一练(20230406) 环形链表 II、反转链表、子集 II
Python每日一练(20230406) 环形链表 II、反转链表、子集 II
25 0
Python每日一练(20230406) 环形链表 II、反转链表、子集 II
LeetCode | 面试题 02.04. 分割链表
LeetCode | 面试题 02.04. 分割链表
|
3月前
|
算法 Java C++
数据结构与算法面试题:实现一个函数,判断一个链表是否为回文链表。(提示:反转后半部分链表比对前半部分)
数据结构与算法面试题:实现一个函数,判断一个链表是否为回文链表。(提示:反转后半部分链表比对前半部分)
21 0
|
3月前
|
Java
面试题 02.07:链表相交
面试题 02.07:链表相交
16 0