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

宁波网站建设佳选蓉胜网络好网站开发书

宁波网站建设佳选蓉胜网络好,网站开发书,工业产品设计与创客实践,大连网站网络公司目录 2. 两数相加 19. 删除链表的倒数第 N 个结点 21. 合并两个有序链表 23. 合并 K 个升序链表 24. 两两交换链表中的节点 2. 两数相加 https://leetcode.cn/problems/add-two-numbers/ public ListNode addTwoNumbers(ListNode l1, ListNode l2) {//head是cur链表头节点…

目录

2. 两数相加

19. 删除链表的倒数第 N 个结点

21. 合并两个有序链表

23. 合并 K 个升序链表

24. 两两交换链表中的节点



2. 两数相加

https://leetcode.cn/problems/add-two-numbers/

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {//head是cur链表头节点,cur用于记录相加和的链表;ListNode head = new ListNode();ListNode cur = head;//进位标志;int flag = 0;//两个用于相加的链表都走到null,结束;while(l1!=null || l2!=null){int l1Val = l1==null ? 0 : l1.val;int l2Val = l2==null ? 0 : l2.val;//计算和;int sum = l1Val+l2Val+flag;//新建节点加入cur链表中;cur.next = new ListNode(sum%10);//判断是否需要进位;if(sum>=10){flag=1;}else {flag=0;}//判断两个用于相加的链表是否走到null,没到的才继续走;if(l1!=null){l1 = l1.next;}if(l2!=null){l2 = l2.next;}//cur链表也向后移动;cur = cur.next;}//走到这里代表两个链表已经遍历完毕;//但是可能最后一次相加也产生了进位,因此在这里要判断;if(flag == 1){cur.next = new ListNode(1);}//头节点是空值,返回头节点的下一节点;return head.next;}

19. 删除链表的倒数第 N 个结点

https://leetcode.cn/problems/remove-nth-node-from-end-of-list/

    public ListNode removeNthFromEnd(ListNode head, int n) {//创建快慢指针,两个指针的next为head;ListNode fast = new ListNode();ListNode slow = new ListNode();fast.next = head;slow.next = head;//记录慢指针的头节点,用于返回;ListNode root = slow;//快指针先走n步;for (int i=n;i>0;i--){fast = fast.next;//处理n大于链表长度的情况;if(fast == null){return null;}}//依次移动快慢指针,直到快指针的next为null;//此时代表慢指针到达要删除的元素的前一位值;while (fast.next != null){fast = fast.next;slow = slow.next;}//删除下一元素;slow.next = slow.next.next;//返回;return root.next;}

21. 合并两个有序链表

https://leetcode.cn/problems/merge-two-sorted-lists/description/

    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {//创建头节点和一个用于移动的节点cur;ListNode head = new ListNode(0);ListNode cur = head;//边移动,边比较节点的值,并将比较结果赋值,直到有一个链表走完;while(list1 != null && list2 != null){if(list1.val <= list2.val){cur.next = list1;list1 = list1.next;}else{cur.next = list2;list2 = list2.next;}cur = cur.next;}//判断是哪个链表走完了,把另一个链表在尾部续上;if(list1 == null){cur.next = list2;}if(list2 == null){cur.next = list1;}//返回记录的head;return head.next;}

23. 合并 K 个升序链表

https://leetcode.cn/problems/merge-k-sorted-lists/description/

    public ListNode mergeKLists(ListNode[] lists) {//建立链表;ListNode root = null;//不断将链表元素两两合并;for (ListNode list : lists) {root = mergeTwoLists(root, list);}//返回链表;return root;}public ListNode mergeTwoLists(ListNode list1, ListNode list2) {//创建头节点和一个用于移动的节点cur;ListNode head = new ListNode(0);ListNode cur = head;//边移动,边比较节点的值,并将比较结果赋值,直到有一个链表走完;while(list1 != null && list2 != null){if(list1.val <= list2.val){cur.next = list1;list1 = list1.next;}else{cur.next = list2;list2 = list2.next;}cur = cur.next;}//判断是哪个链表走完了,把另一个链表在尾部续上;if(list1 == null){cur.next = list2;}if(list2 == null){cur.next = list1;}//返回记录的head;return head.next;}

24. 两两交换链表中的节点

https://leetcode.cn/problems/swap-nodes-in-pairs/

    public ListNode swapPairs(ListNode head) {//基本思路就是站在前一个节点(后续简称0节点),向后望两个节点。//并对这两个节点做顺序调换,之后0节点向后移动;//创建移动的节点指针,这个节点指向head,这个就是一开始的0节点;ListNode cur = new ListNode();cur.next = head;//记录头节点地址,用于返回;ListNode root = cur;while(true){//没有后续节点的情况;if(cur.next == null){break;}//仍存在两个后续节点的情况;if(cur.next.next != null){//记录下一次需要调整顺序的节点;ListNode temp2 = cur.next.next.next;//调整顺序;ListNode temp1 = cur.next;cur.next = cur.next.next;cur = cur.next;cur.next = temp1;//将节点移动到下一次调整的0节点处;cur = cur.next;cur.next = temp2;}else{//只剩一个节点的情况;break;}}//代码运行到这代表,0节点之后已经没有节点或只剩一个节点;//返回记录的头节点;return root.next;}

http://www.yayakq.cn/news/565357/

相关文章:

  • 宜宾做网站公司wordpress后台添加新的文章类别
  • 深圳网站设计必选成都柚米科技09做线上线下相结合的营销模式
  • 网站备案提交管局wordpress页面回收站
  • 怎么上传文件到ftp网站无忧网站模板
  • 网站建设客户告知书怎么样做网站 用网站赚钱
  • 广东网站备案要多久18款免费软件app下载
  • 青岛网站建设咨询专业的营销型网站定制
  • 班级网站设计模板首页做美工需要知道的设计网站
  • 福建城乡建设网站查询赫山区住房和城乡建设局网站
  • 电商网站开发脑图livezilla wordpress
  • seo优秀网站国家企业信用信息查询系统官网
  • 网站 空间 服务器 免费新冠三阳意味着什么
  • 佛山市建设企业网站服务机构商标注册证号查询官网
  • 网站制作公司哪家正规网络广告商
  • 过期域名查询网站WordPress在服务器什么位置
  • 重点实验室网站建设房地产微网站建设栏目设计
  • 紫川网站建设叫别人做网站要多久
  • 网站不备案有什么后果苏州新区保洁公司
  • 深圳网站外包公司营销推广策略有哪些
  • 自适应网站运动div如何设置的网络推广文案范文
  • 网站开发研究总结wordpress官网视频教程
  • 靖江有哪些做网站的客户关系管理系统平台
  • 企业营销型网站建设方案专门做书籍设计的网站
  • 沈阳定制网站建设wordpress付费主题推荐
  • 地方新闻门户网站源码网站建设的扩展阶段包括
  • 旧域名新网站手机百度引擎搜索入口
  • 番禺做网站哪家好介绍美食的网站模板免费下载
  • 建设网站公司需要哪些证件交换链接适合哪些网站
  • 做宠物网站赚钱吗北京app网站建设价格
  • 营销型网站建站教程网站搭建响应式