JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

迭代法 链表翻转 #软件开发 迭代法程序

wys521 2024-11-02 14:58:51 精选教程 33 ℃ 0 评论

面试必备:链表翻转。

兄弟们,今天来讲一下用迭代的方式去翻转列表,这是很容易想到的一种处理方式。看一下这构建了一个链表,从一节点指向二节点指向三节点,看具体是怎么去通过迭代的方式去翻转列表。

现在目前有一个列表是从一二三指向这样的列表,要翻转是从三指向二指向一。迭代的方式就是首先拿到第一个节点,然后就处理它的指向的关系。拿到第一个节点就指向往前面的一个关系,拿到第二个节点就指向一的节点,拿到三节点指向二的节点,这样就翻转过来了。

需要几步?需要四步。

·第一、要保存二和三的临时节点。因为在这更新了一的节点之后,二和三的临时节点有可能会丢掉。

·第二、会把当前节点一,把指针指向前面的一个零,这就是迭代就完了。

·第三、会为下一个比如在坑二节点作为迭代的时候要做一些准备,要做什么?首先要把前节点要更新成一这个节点,第二会把当前节点要更新成二的节点就 ok 了。

看一下代码实现。首先是创建一个链表,链表声明了两个变量,第一个是保存下一个就是临时节点,这就是临时节点,这就是前节点。

·第四、会把当前节点就是链表的第一个节点作为便利的标尺,指针就是当天节点,当天节点的下一个节点就要指向下一个节点作为临时变量去存储,临时编的可以改成tempo。

·第五、临时节点去存储,存储了之后再把下一个节点的指针指向前面,就在这,把下一个指针指向前面,指完了之后会进行下一次循环的准备,就把前面的节点更新成当前节点,就是已经从一指向了pro will,在处理第二次的时候就应该是pro will,所以把下一次的节点,把下一次的当前的节点更新成下一次处理的pro will。

·第六、再把临时节点更新到当前节点,这就是临时节点,临时节点就是next,就是temper。

·第七、更要更新成什么?就是要更新成比如下一个节点就是二的,这二的就是之前的当前节点的下个节点,当前节点的下个节点就是这个节点的下一个节点,那就是二,把变成二就指针就到这来了。

所以下次再循环的时候就直接再一次判断的时候就是当前节点都已经变成二的节点,一直把二和三这样一直循环下去,就由列表就。已经进行了翻转,可以看一下,这是一二三四五,便利完了之后是五四三二一,ok,就已经讲完了,最主要代码就是在这一块,拜拜。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表