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

龙岩城乡建设局网站软文发布平台哪个好

龙岩城乡建设局网站,软文发布平台哪个好,党中央支部建设网站首页,建立手机网站标题做题的时候发现循环与递归的使用差别: 看两道题: 两道题都是不知道链表有多长,所以需要用到循环,用到循环就可以把整个过程分成多个循环体,就是每一次循环要执行的内容。 反转链表: 把null–>1…

标题做题的时候发现循环与递归的使用差别:

看两道题:
在这里插入图片描述
在这里插入图片描述

两道题都是不知道链表有多长,所以需要用到循环,用到循环就可以把整个过程分成多个循环体,就是每一次循环要执行的内容。
反转链表:
在这里插入图片描述
把null–>1改为1–>null、1–>2改为2–>1。。。这些过程都是循环体程序,这里的问题是,链表的结构是单链,一个节点node包含val和next,每一次执行循环体需要交换两个节点的位置,并且需要留下头结点来给下一次循环体使用,比如:1和2交换位置由1–>2改为2–>1后你需要留下指向2的地址变量给下一次的循环体3和2交换的时候3的next指向2。
怎么留下上一次循环体的变量呢?直接在循环体外面定义一个全局变量,全局变量不会随着循环进行而改变。
于是有了以下的代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode temp = head;//temp用来推进循环的进行,也就是temp 会进行temp = temp.next。ListNode temp2 = null;//交换两个节点需要一个中间变量temp2来记录,这跟交换两个int是一样的,只不过这里换成了地址/引用ListNode pre_node = null;//全局变量,用来记录上一次循环体留下的变量给下一次循环体使用while(temp != null) {temp2 = temp.next;temp.next = pre_node;pre_node = temp;         temp = temp2;}return pre_node;}
}

在这里插入图片描述
两两交换链表中的节点,这里的每一次循环体很明显,交换两个节点的位置,1<–>2、3<–>4;但是循环体在交换后需要留下尾节点作为下一次循环体的头结点:
在这里插入图片描述
1和2交换之后需要把1节点的引用留给(3<–>4)节点作为头结点,但是这里节点的结构并没有双链结构,也就是节点没有办法接受/设置他的上一个节点,只能设置下一个节点next,所以是3和4交换后把头结点留给1和2做尾节点,这样子就是从链表的尾巴开始做起,这里循环也可以做,但是太麻烦了,麻烦就在循环条件的设定,因为头结点并没有双联结构,如果先去算出链表的长度,然后从链表尾巴开始两个两个交换,每次交换记录头结点也是可以的,但是这里从尾巴开始做起,而且下一个循环体的头结点留给上一个循环体使用,在链表的末尾有一个很好的循环结束条件:节点的next==null;这里就可以使用递归了。
代码如下:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode swapPairs(ListNode head) {       if(head == null) {//递归结束条件return null;}if(head.next == null) {//应对只有一个节点的链表return head;}ListNode old_haed = swapPairs(head.next.next);//old_head是34留的头结点给12做尾节点ListNode temp_node = head;head = head.next;head.next = temp_node;head.next.next = old_haed;return  head;}
}
http://www.hkea.cn/news/942995/

相关文章:

  • 网易企业邮箱收费标准百色seo关键词优化公司
  • 做网站的财务需求张北网站seo
  • 北京赛车彩票网站怎么做佛山本地网站建设
  • 门户网站的建设方式有哪些网络推广引流
  • 做中东服装有什么网站免费seo刷排名
  • 做网站用java还是c语言百度竞价推广培训
  • 做动画视频的网站市场监督管理局官网入口
  • 做bbs网站教程军事新闻最新消息今天
  • 在哪儿可以找到网站开发的需求搜索引擎优化介绍
  • 成都网站建设代理加盟网络运营培训班多少钱
  • 太原开发网站公司站长工具端口扫描
  • 域控制网站访问自媒体视频发布平台
  • 广西住房和城乡建设委员会网站湖南网站营销seo多少费用
  • 关键词推广名词解释百度竞价关键词怎么优化
  • 群辉服务器做网站网络优化的内容包括哪些
  • 做淘客的网站岳阳seo
  • 网吧设计方案seox
  • 谁做网站市场营销专业
  • 慈溪外贸公司网站网络营销就业前景和薪水
  • 电商网站建设实训报告长沙网站seo推广公司
  • 阿里云ecs怎么建网站吉林网站seo
  • 企业营销型网站建设的可行性西安竞价托管
  • 做网站如何适应分辨率网站分析培训班
  • 现在币圈有那些私募网站做的好百度推广账号登陆入口
  • 旅游网站图片营销公司排名
  • 做服务器的网站都有哪些搜狗关键词排名此会zjkwlgs
  • php动态网站开发 唐四薪 答案b站引流推广网站
  • 长沙3天2晚自由行攻略论述搜索引擎优化的具体措施
  • 外汇局网站做结汇申报被逆冬seo课程欺骗了
  • 网站运营配置免费网站在线观看人数在哪直播