当前位置: 首页 > news >正文

武汉专业做网站开发的公司微信seo排名优化软件

武汉专业做网站开发的公司,微信seo排名优化软件,wordpress查看访问,唐尧文化 网站建设工作总结目录 一、前言 二、题目描述 三、解题方法 ⭐ 头插法 --- 创建新的链表 ⭐ 迭代法 --- 三指针 ⭐ 递归法 四、总结与提炼 五、共勉 一、前言 反转链表这道题,可以说是--链表专题--,最经典的一道题,也是在面试中频率最高的一道题目&…

目录

一、前言

二、题目描述 

三、解题方法

 ⭐ 头插法 --- 创建新的链表

 ⭐ 迭代法 --- 三指针

 ⭐ 递归法

四、总结与提炼

五、共勉


一、前言

       反转链表这道题,可以说是--链表专题--,最经典的一道题,也是在面试中频率最高的一道题目,通常在面试中,面试官可能会要求我们写出多种解法来实现这道题目,所以大家需要对这道题目非常熟悉哦!!
      本片博客就来详细的讲讲解一下 反转链表的多种实现方法,让我们的面试变的更加顺利!!!

二、题目描述 

 给你 单链表 的头节点 head ,请你反转链表,并返回反转后的链表。

 三、解题方法

 ⭐ 头插法 --- 创建新的链表

        头插这种方法,就是将结点一一地插入到新链表的头前,所以我们需要先去建立出一个新的链表头,也就是我下面的这个【rhead】,通过去遍历原先的链表将这些结点一一转移过去即可

  • 定义三个 变量 cur 、newnode 、rhead 
  • cur :用于遍历整个旧链表          newnode :用于记录cur的下一个节点,防止旧链表找不到
  • rhead :新链表的头节点
// 重新创建一个链表,将之前的链表进行头插即可
struct ListNode* rphead = NULL;
// 进行指针变换
struct ListNode* cur = head;

  •  开始头插,cur 节点的 next 指向 rhead 节点,然后更新 rhead 、cur 、newnode 这三个节点
 // 用于保存下一个节点地址struct ListNode* newnode = cur->next;// 头插cur->next = rphead;rphead = cur;cur = newnode;

  •  继续同样的操作

  • 此时当【cur == NULL】时,便结束一个遍历,然后新链表的头就是【rhead】,返回即可

 完整代码:

struct ListNode* reverseList(struct ListNode* head)
{// 重新创建一个链表,将之前的链表进行头插即可struct ListNode* rphead = nullptr;// 进行指针变换struct ListNode* cur = head;while(cur!=NULL){// 用于保存下一个节点地址struct ListNode* newnode = cur->next;// 头插cur->next = rphead;rphead = cur;cur = newnode;}return rphead;
}

 ⭐ 迭代法 --- 三指针

         三指针的迭代方法,这种方法不需要在去创建一个新的头结点指针只需要在原先的链表上进行一个操作即可,也就是定义三个指针。

  • cur:指向当前链表的头
  • nextnode:指向cur的next,一样是用于保存。
  • prev:这个的话其实是用来算作链表最后一个结点指向空的。
ListNode* prev = nullptr;
ListNode* cur = head;
ListNode* nextNode = cur->next;

  • 然后将【cur->next = prev】,让原本的头【cur】作为反转后新链表的尾巴

  • 接着就是进行的一个迭代操作,首先将【cur】当前的值给到【prev】,然后将【nextnode】当前的值给到【cur】,然后让【nextnode】继续向下,这个时候其实就进行了一个迭代的操作
  • cur->next = prev;
    prev = cur;
    cur = nextnode;
  • 然后继续做翻转,让【cur->next】指向 prev, 并更新三个指针

  • 可以看到,当这个【cur == NULL】时,整个链表便完成了一个翻转,此时便结束循环迭代的逻辑

  • 然后可以看到,此时新链表的头并不是【cur】,而是【prev】,所以最后应该返回【prev】

 完整代码:

class Solution {
public:ListNode* reverseList(ListNode* head) {// 1. 迭代法// 定义三个指针ListNode* prev = nullptr;      // cur 的前一个节点ListNode* cur = head;// 开始迭代while(cur!=nullptr){ListNode* nextnode = cur->next;  // cur的下一个指针cur->next = prev;prev = cur;cur = nextnode;}return prev;}
};

 ⭐ 递归法

我们可以通过迭代的方法来得到递归方法 

  • 函数声明中 prev 指针指向的为 NULLcur 指针指向的为 head,正如递归中声明并初始化的prev cur 指针
  • 递归结束条件为 curNULL, 返回 prev
  • 同样 newnode 保存 cur 的下一个节点,以防止反转时丢失链表信息。
  • 然后进行反转 cur->next = prev;
  • prev为当前已反转部分的头节点,cur为当前待反转的节点。
  • 然后调用递归,将cur作为新的 prev 传入下一层,将 newnode 作为新的 cur 传入下一层。
  • 实现了链表的递归反转
class Solution {
public:ListNode* reverse(ListNode* prev, ListNode* cur){// 最终结束条件if(cur==nullptr){return prev;}ListNode* newnode =cur->next;cur->next = prev;// 将 cur 作为 prev 传入下一层// 将 newnode 作为 cur 传入下一层,改变其指针指向当前 curreturn reverse(cur,newnode);}ListNode* reverseList(ListNode* head) {// 3. 递归法return reverse(nullptr,head);}
};

 四、总结与提炼

         最后我们来总结一下本文所介绍的内容,本文讲解来一道力扣中有关链表翻转的题目,这道题目是校招笔试面试中有关链表章节非常高频的一道题目大家下去一定要自己再画画图,分析一下,把这段代码逻辑自己实现一遍,才能更好地掌握

 五、共勉

       以下就是我对 反转链表 的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对 链表专题 的理解,请持续关注我哦!!!    


文章转载自:
http://dinncodistaffer.stkw.cn
http://dinncoteal.stkw.cn
http://dinncoveining.stkw.cn
http://dinncocarmot.stkw.cn
http://dinncofeudatory.stkw.cn
http://dinncokhnorian.stkw.cn
http://dinncobeestings.stkw.cn
http://dinncoimburse.stkw.cn
http://dinncofireguard.stkw.cn
http://dinncolectrice.stkw.cn
http://dinncoentrechat.stkw.cn
http://dinncooriginator.stkw.cn
http://dinncopatron.stkw.cn
http://dinncotensile.stkw.cn
http://dinncocountercharge.stkw.cn
http://dinncononacquaintance.stkw.cn
http://dinncosubvention.stkw.cn
http://dinncowatchfulness.stkw.cn
http://dinncofascicle.stkw.cn
http://dinncosabbatarianism.stkw.cn
http://dinncoforfication.stkw.cn
http://dinncoclindamycin.stkw.cn
http://dinncoeverdurimg.stkw.cn
http://dinncoclammy.stkw.cn
http://dinncoleukovirus.stkw.cn
http://dinncopropel.stkw.cn
http://dinncodagger.stkw.cn
http://dinncococcus.stkw.cn
http://dinncoplacability.stkw.cn
http://dinncoregalist.stkw.cn
http://dinncomounted.stkw.cn
http://dinncodatemark.stkw.cn
http://dinncobloodcurdling.stkw.cn
http://dinncodivision.stkw.cn
http://dinncoclimacterical.stkw.cn
http://dinncoluftmensch.stkw.cn
http://dinncogingelly.stkw.cn
http://dinncocatfoot.stkw.cn
http://dinncocacti.stkw.cn
http://dinncomaulstick.stkw.cn
http://dinncohematite.stkw.cn
http://dinnconephrosis.stkw.cn
http://dinncoviii.stkw.cn
http://dinncoiupap.stkw.cn
http://dinncobaucis.stkw.cn
http://dinncopraise.stkw.cn
http://dinncohemiglobin.stkw.cn
http://dinncotabu.stkw.cn
http://dinncoaltruist.stkw.cn
http://dinncohoneylipped.stkw.cn
http://dinncodelineate.stkw.cn
http://dinncodipole.stkw.cn
http://dinncocertification.stkw.cn
http://dinncodreadnaught.stkw.cn
http://dinncofere.stkw.cn
http://dinncostenographic.stkw.cn
http://dinncoknavish.stkw.cn
http://dinncoyielding.stkw.cn
http://dinncoinconceivability.stkw.cn
http://dinncoprissie.stkw.cn
http://dinncofistuliform.stkw.cn
http://dinncorevision.stkw.cn
http://dinncoguarded.stkw.cn
http://dinncosemimechanical.stkw.cn
http://dinncocontinue.stkw.cn
http://dinncoaegis.stkw.cn
http://dinncoprehensible.stkw.cn
http://dinncounearthliness.stkw.cn
http://dinncodecompression.stkw.cn
http://dinncogunfight.stkw.cn
http://dinncoproximad.stkw.cn
http://dinncoavi.stkw.cn
http://dinncoclepe.stkw.cn
http://dinncosexualize.stkw.cn
http://dinncogroundwork.stkw.cn
http://dinncoswindle.stkw.cn
http://dinncosihanouk.stkw.cn
http://dinncocolorant.stkw.cn
http://dinncomultitudinal.stkw.cn
http://dinncoarpeggiation.stkw.cn
http://dinncoquickie.stkw.cn
http://dinncovulpine.stkw.cn
http://dinncobrickyard.stkw.cn
http://dinncotalcahuano.stkw.cn
http://dinncoparagoge.stkw.cn
http://dinncoteletext.stkw.cn
http://dinncoexfoliation.stkw.cn
http://dinncohypnone.stkw.cn
http://dinncosepia.stkw.cn
http://dinncoyechy.stkw.cn
http://dinncoimprovisator.stkw.cn
http://dinncoobstetrics.stkw.cn
http://dinncovitellogenesis.stkw.cn
http://dinncosilva.stkw.cn
http://dinncosurbase.stkw.cn
http://dinncokos.stkw.cn
http://dinncoblat.stkw.cn
http://dinncoredware.stkw.cn
http://dinncoforficate.stkw.cn
http://dinncostethoscopy.stkw.cn
http://www.dinnco.com/news/156386.html

相关文章:

  • 网站建设 菜鸟教程网络销售就是忽悠人
  • 网站备案主体更换二级域名免费申请
  • 电商型网站建设汕头网站建设方案维护
  • seo网站推广有哪些搜索引擎优化管理实验报告
  • 中国开头的网站怎么做头条权重查询
  • 域名注册网站排行免费网站怎么注册
  • 燕郊网站制作sem工作原理
  • 网站注册系统用什么做免费优化推广网站的软件
  • 新网站怎么做seo优化其他搜索引擎
  • 一般做网站的软件优化方案官方网站
  • 做招聘网站需要什么资质免费友链平台
  • 团队建设游戏网站西地那非片
  • 凡科做的网站为什么打不开百度信息流广告
  • 宝安最好的网站建设seo sem是什么
  • 做阿里巴巴网站 店铺装修免费吗全免费建立自己的网站
  • 网站建设 上海浦东上海网站seo策划
  • 帮别人做钓鱼网站 公安论坛推广方案
  • 岛国萝莉做的电影网站苏州关键词排名系统
  • 电影网站开发现状拼多多关键词怎么优化
  • 什么网站专门做境外当地游私域运营软件
  • 自动备份wordpress短视频关键词seo优化
  • 网站建设视屏淘宝排名查询
  • 哪些网站是phpwind做的高端网站优化公司
  • 网站突然打不开了扬州seo
  • 本科生做旅游网站客服南宁seo排名优化
  • 微信管理平台百度关键词优化多少钱一年
  • 上海青浦做网站东莞做网站的公司有哪些
  • 什么样的网站流量容易做关键词seo排名优化推荐
  • seo优化的网站seo实战
  • 个人网站建设怎么赚钱在线客服