当前位置: 首页 > 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 l1null ? 0 : l1.val;int l2Val l2null ? 0 : l2.val;//计算和int sum l1Vall2Valflag;//新建节点加入cur链表中cur.next new ListNode(sum%10);//判断是否需要进位if(sum10){flag1;}else {flag0;}//判断两个用于相加的链表是否走到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为headListNode fast new ListNode();ListNode slow new ListNode();fast.next head;slow.next head;//记录慢指针的头节点用于返回ListNode root slow;//快指针先走n步for (int in;i0;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) {//创建头节点和一个用于移动的节点curListNode 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;}//返回记录的headreturn 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) {//创建头节点和一个用于移动的节点curListNode 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;}//返回记录的headreturn 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.hkea.cn/news/14301751/

相关文章:

  • 写资料的网站有哪些wordpress前台
  • 广州网站建设好公司seo优化必备技巧
  • 某某公司网站建设论文qq官网登录入口电脑版
  • 响应式建站工具可以做网站高仿服装吗
  • 建设网站域名备案温州市建设小学网站首页
  • 怎么制定网站开封网站建设兼职
  • 已经注册了域名 怎么做网站WordPress 积分购买插件
  • 网站开发的流程和步骤是什么国外wordpress主题
  • 网站建设与维护书籍推荐炫彩发光字制作网站
  • 专业的外贸网站中文版的wordpress
  • 狼雨seo网站网站单页支付宝支付怎么做的
  • 3小时网站建设平台儿童编程培训班
  • 腾讯云网站模板wordpress 后台登陆地址
  • 太原网站建设制作公司哪家好最好的网站建设团队
  • 做课件ppt网站wordpress里放代码
  • 东莞建设工程交易中心网站wordpress修改站点logo大小
  • 什么是网站可信认证郑州男科哪家比较正规医院
  • 网站子页面设计制作软件教程
  • 北京微信网站搭建多少钱做平面的素材网站
  • 苏州h5网站网站图片加载优化
  • 三角网站建设合肥网站建设案例
  • 怎么建立一个网站存照片视频的链接成立公司的流程和要求及费用
  • 微信网站建设需要那些资料联盟网
  • 政务网站建设 紧急通知WordPress出现404怎么办
  • 长沙公司制作网站费用985短网址生成器
  • 网站开发安装天眼查河南建设网站公司
  • 成都商城网站开发卡易售网站建设
  • 外贸企业网站建设一条龙如何成立网站
  • html网站更新公共空间设计网站
  • 陕西自助建站做网站wordpress tag_id