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

专做废旧电子电路板配件回收的网站投资理财产品网站建设

专做废旧电子电路板配件回收的网站,投资理财产品网站建设,做网站找哪个好,深圳网站建设费用1. 力扣206 : 反转链表 (1). 题 : 图略 给你单链表的头节点 head #xff0c;请你反转链表#xff0c;并返回反转后的链表。示例 1#xff1a;输入#xff1a;head [1,2,3,4,5] 输出#xff1a;[5,4,3,2,1] 示例 2#xff1a;输入#xff1a;head [1,2] 输出#x…1. 力扣206 : 反转链表 (1). 题 : 图略 给你单链表的头节点 head 请你反转链表并返回反转后的链表。示例 1输入head [1,2,3,4,5] 输出[5,4,3,2,1] 示例 2输入head [1,2] 输出[2,1] 示例 3输入head [] 输出[]提示链表中节点的数目范围是 [0, 5000] -5000 Node.val 5000 解法1 :  该解法的空间复杂度比较高(O(n)), 因为借助了int[n]大小的数组.但空间换时间, 该解法的时间复杂度较低(O(n)).只有for一层循环. 思路 : 首先遍历链表得到链表节点的个数借助数组存储原链表的节点的数据域再for循环覆盖原链表的节点的数据域. 解 :  class Solution {public ListNode reverseList(ListNode head) {ListNode p;int count 0;for (p head; p ! null; p p.next) {count;}int newCount count;int[] arr new int[count];count 0;for (p head; p ! null; p p.next) {arr[count] p.val; }count 0;for (p head; p ! null; p p.next) {p.val arr[newCount - 1];newCount--;}return head;} } 解法2 : 可以使用递归来解决.以示例1为例. 思路 : 不断递归, 当递归到head指向节点5时(最后一个节点), 返回节点5, last指向节点5, 此时head指向节点4, 将节点5指向节点4, 节点4的指针域设置为null, 返回last指针. 解 :  class Solution {public ListNode reverseList(ListNode head) {if (head null || head.next null) {return head;}ListNode last reverseList(head.next);head.next.next head;head.next null;return last;} } 解法3 : 迭代双指针 思路 : n1初始时指向空o1记录头节点的下一个节点不断将原链表的节点头插到空链表中并更新n1使得其指向该链表的头节点. 解法 :  class Solution {public ListNode reverseList(ListNode head) {if (head null) {return head;}ListNode n1 null;while (head ! null) {ListNode o1 head.next;head.next n1;n1 head;head o1;}return n1;} } 2. 力扣203 : 移除链表元素 题 : 图略 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node.val val 的节点并返回 新的头节点 。示例 1输入head [1,2,6,3,4,5,6], val 6 输出[1,2,3,4,5] 示例 2输入head [], val 1 输出[] 示例 3输入head [7,7,7,7], val 7 输出[]提示列表中的节点数目在范围 [0, 104] 内 1 Node.val 50 0 val 50 解法1 : 迭代 思路 : 增加哨兵节点, 使得处理头节点变得简单.想要删除一个节点, 得找到想要删除节点的上一个节点, 从哨兵节点开始, 如果其下一个节点的数据域为val, 则删除, 否则将指针移到下一个节点. 解 :  class Solution {public ListNode removeElements(ListNode head, int val) {//增加头节点if (head null) {return null;} //哨兵节点ListNode dummy new ListNode(0);dummy.next head;ListNode temp dummy;while (temp.next ! null) {if (temp.next.val val) {temp.next temp.next.next;} else {temp temp.next;}}return dummy.next;} } 解法2 : 递归 思路 : 基线条件如果head为null则返回null.如果我(当前head所在节点)的数据域与val相等则返回我的下一个节点的递归结果.如果我的数据域与val不想等则返回我与我的下一个节点的递归结果. 解 :  class Solution {public ListNode removeElements(ListNode head, int val) {if (head null) {return head;}//如果我与val相等, 返回下一个节点的递归结果if (head.val val) {return removeElements(head.next, val);} else {//如果我与val不相等, 则返回我以及我的下一个节点的递归结果head.next removeElements(head.next, val);return head;}} } 3. 力扣19 : 删除链表的倒数第n个节点 题 :  给你一个链表删除链表的倒数第 n 个结点并且返回链表的头结点。示例 1输入head [1,2,3,4,5], n 2 输出[1,2,3,5] 示例 2输入head [1], n 1 输出[] 示例 3输入head [1,2], n 1 输出[1]提示链表中结点的数目为 sz 1 sz 30 0 Node.val 100 1 n sz进阶你能尝试使用一趟扫描实现吗 解法1 : 双指针(快慢指针) 注 : 题目中n是合法的, 所以无需考虑n不合法的情况. 思路 : 设置哨兵节点, 为了方便删除头节点的操作.初始时, 快慢指针均指向哨兵节点, fast指针先动,然后快慢指针一起移动, 当fast指针指向最后一个节点时, slow指针刚好指针待删除节点的上一个节点. 解 :  class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {//设置哨兵节点ListNode dummy new ListNode(0);dummy.next head;ListNode fast dummy;ListNode slow dummy;while (n-- 0) {fast fast.next;}while (fast.next ! null) {fast fast.next;slow slow.next;}slow.next slow.next.next;return dummy.next;} } 解法2 : 递归 思路 : 当p为null时, 返回0, t0(此时p指向倒数第一个节点), 返回1, 即倒数第几个节点就返回几而此时p指向该倒数节点的上一个节点所以可以对要删除的节点进行删除操作. 解 :  class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {//设置哨兵节点ListNode dummy new ListNode(0, head);recursion(dummy, n);return dummy.next;}public int recursion(ListNode p, int n){if (p null) {return 0;}int t recursion(p.next, n);if (t n) {p.next p.next.next;}return t 1;} }
http://www.w-s-a.com/news/309906/

相关文章:

  • 学校网站内容四川手机网站开发
  • 网站制作公司违法商业网站运营成本
  • 显示佣金的网站是怎么做的广告设计主要做哪些
  • 做阿里网站的分录济南seo网站排名关键词优化
  • 北京建设银行纪念钞预定官方网站wordpress中文优化版
  • 宝安做棋牌网站建设找哪家效益快创意设计师个人网站
  • 做线上网站需要多少钱系统开发板价格
  • 建筑企业登录哪个网站wordpress feed地址
  • 网站建设流程百科提升seo搜索排名
  • 杭州网站建设 巴零做销售怎么和客户聊天
  • 北京自己怎样做网站wordpress oauth2插件
  • 上海800做网站wordpress建站的好处
  • 婚纱摄影网站设计模板如何做好网站内容
  • cdn网站加速招商计划书模板ppt
  • 我在某网站网站做代理开发小程序外包
  • 设计网站国外商城网站的建设费用
  • 网站开发工作需要什么专业学做网站游戏教程
  • 电子商务网站规划 分析 设计杭州网站优化平台
  • 汕头企业自助建站系统网站后台登陆验证码无法显示
  • 宁波网站制作服务做外贸推广自己网站
  • php 微信 网站开发青岛网站互联网公司
  • 网站软件免费下载大全网站建设开发价格高吗
  • asp网站制作软件上海做网站制作
  • 福田区住房和建设局网站好搜搜索引擎
  • 平面设计师看的网站济南机场建设
  • 俄文网站开发翻译平台页面设计模板
  • 建设在线购物网站淮南电商网站建设价格
  • 龙泉市旅游门户网站建设wordpress faq插件
  • 网站的流程图贵阳做网站方舟网络
  • c 做网站开发实例wordpress 加上index