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

綦江建设银行网站网站推广一般在哪个网做

綦江建设银行网站,网站推广一般在哪个网做,美空wordpress主题,wordpress下载站批量目录 LeetCode之路——707. 设计链表 分析#xff1a; Code#xff1a; LeetCode之路——707. 设计链表 你可以选择使用单链表或者双链表#xff0c;设计并实现自己的链表。 单链表中的节点应该具备两个属性#xff1a;val 和 next 。val 是当前节点的值#xff0c;n…目录 LeetCode之路——707. 设计链表 分析 Code LeetCode之路——707. 设计链表 你可以选择使用单链表或者双链表设计并实现自己的链表。 单链表中的节点应该具备两个属性val 和 next 。val 是当前节点的值next 是指向下一个节点的指针/引用。 如果是双向链表则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点下标从 0 开始。 实现 MyLinkedList 类 MyLinkedList() 初始化 MyLinkedList 对象。 int get(int index) 获取链表中下标为 index 的节点的值。如果下标无效则返回 -1 。 void addAtHead(int val) 将一个值为 val 的节点插入到链表中第一个元素之前。在插入完成后新节点会成为链表的第一个节点。 void addAtTail(int val) 将一个值为 val 的节点追加到链表中作为链表的最后一个元素。 void addAtIndex(int index, int val) 将一个值为 val 的节点插入到链表中下标为 index 的节点之前。如果 index 等于链表的长度那么该节点会被追加到链表的末尾。如果 index 比长度更大该节点将 不会插入 到链表中。 void deleteAtIndex(int index) 如果下标有效则删除链表中下标为 index 的节点。 示例 输入 [MyLinkedList, addAtHead, addAtTail, addAtIndex, get, deleteAtIndex, get] [[], [1], [3], [1, 2], [1], [1], [1]] 输出 [null, null, null, null, 2, null, 3] ​ 解释 MyLinkedList myLinkedList new MyLinkedList(); myLinkedList.addAtHead(1); myLinkedList.addAtTail(3); myLinkedList.addAtIndex(1, 2);   // 链表变为 1-2-3 myLinkedList.get(1);             // 返回 2 myLinkedList.deleteAtIndex(1);   // 现在链表变为 1-3 myLinkedList.get(1);             // 返回 3 提示 0 index, val 1000 请不要使用内置的 LinkedList 库。 调用 get、addAtHead、addAtTail、addAtIndex 和 deleteAtIndex 的次数不超过 2000 。 分析 1.实现单向链表每个节点保存本身的值和后继节点。除此之外我们还需要一个哨兵sentinel节点作为头节点和一个size参数保存有效节点数。初始化时只需创建头节点head和size即可。 2.实现addAtIndex(index, val)时先判断index是有效值找到原来下标为 index的节点的前驱节点pred并创建新节点 toAdd将toAdd的后继节点设为pred 的后继节点将pred的后继节点更新为toAdd这样就将 toAdd插入到了链表中。最后需要更新size。哨兵节点的好处就在于这样的操作对于index0也成立。 需要注意链表的插入操作下面两行交换顺序会发生指针丢失和内存泄漏。 toAdd.next pred.next; // toAdd节点值为25pred节点值为0 pred.next toAdd; 3.实现deleteAtIndex(index)先判断index是否有效。然后找到下标为index的节点的前驱节点pred通过将 pred的后继节点更新为pred的后继节点的后继节点来达到删除节点的效果。同时也要更新size。 4.至于addAtHead(int val)和addAtTail(int val)其实就是addAtIndex(int index, int val)中index分别是0和size时候的情况。 Code class MyLinkedList {int size 0;ListNode head; ​public MyLinkedList() {// 链表节点数目size 0;// 哨兵节点方便判断头节点为空的情况head new ListNode(0);} ​public int get(int index) {// 判断index无效直接返回if (index size || index 0) {return -1;}// 找到index的前置节点ListNode pred head;for (int i 0; i index; i) {pred pred.next;}return pred.val;} ​public void addAtHead(int val) {addAtIndex(0, val);} ​public void addAtTail(int val) {addAtIndex(size,val);} ​public void addAtIndex(int index, int val) {// 判断index无效直接返回if (index size || index 0) {return;}ListNode pred head;// 找到index前置节点for (int i 0; i index; i) {pred pred.next;}ListNode toAdd new ListNode(val);toAdd.next pred.next;pred.next toAdd;size;} ​public void deleteAtIndex(int index) {// 判断index无效直接返回if (index size || index 0) {return;}ListNode pred head;// 找到index前置节点for (int i 0; i index; i) {pred pred.next;}pred.next pred.next.next;size--;}} 时间复杂度初始化O(1)get为O(index)addAtHead为O(1)addAtTail为O(n)n为链表长度addAtIndex为O(index)。根据获取节点时循环次数可以知道时间复杂度的情况。 空间复杂度单次调用空间复杂度O(1)链表结构总体空间复杂度O(n)。
http://wiki.neutronadmin.com/news/57003/

相关文章:

  • 本地郑州网站建设网站关键词做的越多越好吗
  • 网络培训网站开发文献综述怎么样创建微信公众号
  • 简述网页建站流程怎么查看网站有没有做ssl
  • 中英文双语网站站点艺商网站
  • 服装企业网站建设策划书南京 外贸网站建设
  • lamp网站建设开封网站优化公司
  • asp.net 网站开发视频中小型企业网站设计与开发
  • 自定义建设网站建设阅读网站的目的
  • 攀枝花市网站建设专业网站建设公司郑州
  • 上海建设网站的公司windows 7 wordpress
  • 张家港网站关键词优化门户网站的建设
  • 企业网站前端模板网站开发售后服务
  • 电信ip做的网站移动不能访问凡科互动是做什么的
  • 网络营销管理师东莞关键词优化排名
  • 淘宝联盟做返利网站网站建设的目的与意义是什么
  • 深圳专业设计网站公司做网站的品牌公司
  • 荣成网站制作公司网站内页怎么做
  • php建设网站工具东莞玩具加工东莞网站建设
  • 做包装盒效果图的网站网站 建设 申请
  • 重庆旅游攻略必去景点推荐手机网络优化软件
  • 深圳企业企业网站建设安全教育网站建设背景
  • 大气手机网站模板网站流量是什么意思
  • 运城网站建设公司有多少怎么做网站作业
  • 常熟苏州网站建设做的新网站网上搜不到
  • 免费电子商务网站建设宁波手机网站制作
  • 常平网站公司科技企业网站源码
  • 基于php的网站开发流程图企业品牌宣传片制作
  • 博客类网站源码企业网站程序源码
  • 别人做网站要把什么要过来棋牌游戏网站怎么做
  • 律师网站 扁平化wordpress仿果壳