首页 > 其他分享 >【腾讯面试题】单链表反转

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

时间:2022-11-15 13:11:49浏览次数:34  
标签:面试题 单链 reverseHead head next 链表 腾讯 LinkedNode 节点

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

  • 思路:
    1. 先定义一个节点 reverseHead= new Node();
    2. 从头到尾遍历原来的链表,没遍历一个节点,就取出,并放在新的链表reverseHead的最前端
    3. 原来的链表的head.next=reverseHead.next

  • 核心代码
/**
 * @ author Guo daXia
 * @ create 2022/11/14
 */
public class Reverse {
    /**
     * 实现单链表反转
     * @param head 传入一个头节点,进行反转
     */
    public static void reverseList(LinkedNode head){
        //先排除一些不可能
        if (head.next==null){
            return;
        }
        //定义一个辅助变量充当指针,遍历原来的链表
        LinkedNode c =head.next;
        LinkedNode next = null;
        LinkedNode reverseHead = new LinkedNode(0,"");

        //遍历原来的链表,每遍历一个节点,就将其取出,并放在新的链表reverseHead的最前端,即头插法*****
        while (c!=null){
            next = c.next;//先暂时存当前节点的下一个节点,因为后面需要使用
            c.next=reverseHead.next;//当前节点c的下一个指向新1链表的下一个
            reverseHead.next=c;//将c连接到新的链表上
            c=next;//让c后移
        }
        head.next = reverseHead.next;//最后,将head.next指向reverseHead.next,共同指向同一片堆空间
    }
}

标签:面试题,单链,reverseHead,head,next,链表,腾讯,LinkedNode,节点
From: https://www.cnblogs.com/container-simple/p/16892092.html

相关文章

  • 腾讯云服务器安全组防火墙配置
    我这里配置的是任意源IP:端口号都允许,根据自己的需要进行配置。 配置完入站、出站规则如果通了就不需要往下看。---------------------------------------------------......
  • 我的react面试题笔记整理(附答案)
    shouldComponentUpdate有什么用?为什么它很重要?组件状态数据或者属性数据发生更新的时候,组件会进入存在期,视图会渲染更新。在生命周期方法shouldComponentUpdate中,允许选......
  • 我的react面试题整理2(附答案)
    如何在React中使用innerHTML增加dangerouslySetInnerHTML属性,并且传入对象的属性名叫_htmlfunctionComponent(props){return<divdangerouslySetInnerHTML={{_htm......
  • 【JAVA面试】java面试题整理(4)
                          java面试题整理(4)JAVA常考点4目录​​1、Set集合如何保证不重复1​​​​2、Java中Integer型和int型......
  • 【数据结构/C语言】借助于栈将一个带头结点的单链表L逆置
    编写算法Reverse(LinkList&L),要求借助于栈将一个带头结点的单链表L逆置。其中栈的初始化操作、入栈操作和出栈操作算法名分别为InitStack(&S)、Push(&S,e)、Pop(&S,&e),单......
  • mouseenter和mouseover的区别(面试题常问)
    mouseenter和mouseover的区别(面试题常问)mouseenter鼠标事件当鼠标移动到元素上时就会触发mouseenter事件类似mouseover,它们两者之间的差别是mouseover鼠标经过自身盒......
  • 搜房面试题
    1、不使用数据库,如何通过程序实现快速的排重计算?    a、加载数据到集合中,然后使用Linq中的Distinct()进行去重。    b、​​如果明确是哪几列中重复的数据......
  • 24 道必知必会的 Shell 脚本面试题
    虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到shell脚本的问题,它有助于你在工作环境中自动完成很多任务。如下是一些面试......
  • 8家大厂面经(阿里、腾讯、美团等)
    整理来源:牛客网​背景介绍 楼主5月初入职滴滴实习,7月底得知今年滴滴不好转正,遂离职复习巩固基础+项目备战秋招。因为准备的时间比较早,有幸赶上了各大厂的提前批面试,面试......
  • 前端部分面试题目整理
    1.<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><script>varname='武老板';functionfunc(){......