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

淘宝网站建设策划书直通车关键词怎么选 选几个

淘宝网站建设策划书,直通车关键词怎么选 选几个,做公司网站的企业,大连做网站的科技公司你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点…

你可以选择使用单链表或者双链表,设计并实现自己的链表。

单链表中的节点应该具备两个属性: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 的节点。

提交到力扣的代码如下:

class ListNode {private Integer val;private ListNode next;public void setVal(Integer val) {this.val = val;}public void setNext(ListNode next) {this.next = next;}public Integer getVal() {return val;}public ListNode getNext() {return next;}
}class MyLinkedList {private ListNode listNode;public void setListNode(ListNode listNode) {this.listNode = listNode;}public ListNode getListNode() {return listNode;}public MyLinkedList(ListNode head) {listNode = head;}public MyLinkedList() {}public int get(int index) {int size = size();if (index < 0 || index > size - 1) {return -1;}ListNode imghead = new ListNode();imghead.setNext(listNode);ListNode cur = imghead.getNext();while (index > 0) {cur = cur.getNext();index = index - 1;}return cur.getVal(); //index=0也是返回cur本身,也就是第一个节点。 index不为0,最终的cur的值就是第index节点的值。}public int size() {//获取长度ListNode cur = listNode;int size = 0;while (cur != null) {size = size + 1;cur = cur.getNext();}return size;}public void addAtHead(int val) {ListNode newNode = new ListNode();//定义要插入的节点newNode.setVal(val);//给要插入的节点赋值ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点ListNode cur = imghead.getNext();//当前节点移动到虚拟头节点的下一个节点imghead.setNext(null);//断开虚拟头节点与下一个节点连接imghead.setNext(newNode);//重新改变指向newNode.setNext(cur);//重新改变指向listNode = newNode;//最终符合题目要求的节点是newNode ,把newNode给listNode}//尾部插入节点public void addAtTail(int val) {ListNode newNode = new ListNode();//定义要插入的节点newNode.setVal(val);//给要插入的节点赋值ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点ListNode cur = imghead;//while (cur.getNext() != null) {cur = cur.getNext();}cur.setNext(newNode);listNode = imghead.getNext();}//在第index前节点插入一个节点public void addAtIndex(int index, int val) {int size = size();if (index < 0 || index > size) {System.out.println("传入的节点index小于0或index超过节点索引,无法插入数据");} else if(index==size){addAtTail(val);}else if (index == 0) {//在头节点前插入addAtHead(val);} else {//index从1到size-1之间ListNode newNode = new ListNode();//定义要插入的节点newNode.setVal(val);//给要插入的节点赋值ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点ListNode cur = imghead.getNext();while (index > 1) {//寻找要插入节点的前一个节点,因为要找的是前一个节点,所以要大于1cur = cur.getNext();index = index - 1;}ListNode tmp = cur.getNext();//先存下下一个节点cur.setNext(newNode);newNode.setNext(tmp);}}//删除第index的节点public void deleteAtIndex(int index) {int size = size();if (index < 0 || index > size - 1) {System.out.println("传入的节点index小于0或index超过节点索引,无法删除数据");} else {ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点if (index == 0) {//删除第一个节点ListNode tmp = imghead.getNext().getNext();imghead.setNext(null);imghead.setNext(tmp);listNode = imghead.getNext();} else {//index从1到size-1之间ListNode cur = imghead.getNext();while (index > 1) {//寻找要删除节点的前一个节点,因为要找的是前一个节点,所以要大于1cur = cur.getNext();index = index - 1;}ListNode tmp = cur.getNext().getNext();//先存下下一个节点cur.setNext(tmp);listNode = imghead.getNext();}}}
}/*** Your MyLinkedList object will be instantiated and called as such:* MyLinkedList obj = new MyLinkedList();* int param_1 = obj.get(index);* obj.addAtHead(val);* obj.addAtTail(val);* obj.addAtIndex(index,val);* obj.deleteAtIndex(index);*/

本地测试代码:

package com.company;public class MyLinkedList {private ListNode listNode;public void setListNode(ListNode listNode) {this.listNode = listNode;}public ListNode getListNode() {return listNode;}public MyLinkedList(ListNode head) {listNode = head;}public MyLinkedList() {}public int get(int index) {int size = size();if (index < 0 || index > size - 1) {return -1;}ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);ListNode cur = imghead.getNext();while (index > 0) {cur = cur.getNext();index = index - 1;}return cur.getVal(); //index=0也是返回cur本身,也就是第一个节点。 index不为0,最终的cur的值就是第index节点的值。}public int size() {//获取长度ListNode cur = listNode;int size = 0;while (cur != null) {size = size + 1;cur = cur.getNext();}return size;}public void addAtHead(int val) {ListNode newNode = new ListNode();//定义要插入的节点newNode.setVal(val);//给要插入的节点赋值ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点ListNode cur = imghead.getNext();//当前节点移动到虚拟头节点的下一个节点imghead.setNext(null);//断开虚拟头节点与下一个节点连接imghead.setNext(newNode);//重新改变指向newNode.setNext(cur);//重新改变指向listNode = newNode;//最终符合题目要求的节点是newNode ,把newNode给listNode}//尾部插入节点public void addAtTail(int val) {ListNode newNode = new ListNode();//定义要插入的节点newNode.setVal(val);//给要插入的节点赋值ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点ListNode cur = imghead;//while (cur.getNext() != null) {cur = cur.getNext();}cur.setNext(newNode);listNode = imghead.getNext();}//在第index前节点插入一个节点public void addAtIndex(int index, int val) {int size = size();if (index < 0 || index > size) {System.out.println("传入的节点index小于0或index超过节点索引,无法插入数据");} else if(index==size){addAtTail(val);}else if (index == 0) {//在头节点前插入addAtHead(val);} else {//index从1到size-1之间ListNode newNode = new ListNode();//定义要插入的节点newNode.setVal(val);//给要插入的节点赋值ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点ListNode cur = imghead.getNext();while (index > 1) {//寻找要插入节点的前一个节点,因为要找的是前一个节点,所以要大于1cur = cur.getNext();index = index - 1;}ListNode tmp = cur.getNext();//先存下下一个节点cur.setNext(newNode);newNode.setNext(tmp);}}//删除第index的节点public void deleteAtIndex(int index) {int size = size();if (index < 0 || index > size - 1) {System.out.println("传入的节点index小于0或index超过节点索引,无法删除数据");} else {ListNode imghead = new ListNode();imghead.setVal(-1);imghead.setNext(listNode);//定义虚拟头节点if (index == 0) {//删除第一个节点ListNode tmp = imghead.getNext().getNext();imghead.setNext(null);imghead.setNext(tmp);listNode = imghead.getNext();} else {//index从1到size-1之间ListNode cur = imghead.getNext();while (index > 1) {//寻找要删除节点的前一个节点,因为要找的是前一个节点,所以要大于1cur = cur.getNext();index = index - 1;}ListNode tmp = cur.getNext().getNext();//先存下下一个节点cur.setNext(tmp);listNode = imghead.getNext();}}}
}
package com.company;public class ListNode {private Integer val;private ListNode next;public void setVal(Integer val) {this.val = val;}public void setNext(ListNode next) {this.next = next;}public Integer getVal() {return val;}public ListNode getNext() {return next;}
}
package com.company;import javax.swing.tree.TreeNode;
import java.lang.reflect.Array;
import java.util.*;public class Main {public static void main(String[] args) {ListNode head = new ListNode();head.setVal(2);ListNode second = new ListNode();second.setVal(3);head.setNext(second);ListNode third = new ListNode();third.setVal(4);second.setNext(third);ListNode four = new ListNode();four.setVal(5);third.setNext(four);ListNode five = new ListNode();five.setVal(6);four.setNext(five);ListNode six = new ListNode();six.setVal(7);five.setNext(six);MyLinkedList mylist = new MyLinkedList(head);//  int value= mylist.get(5);//  mylist.addAtHead(33);//  mylist.deleteAtIndex(6);//  mylist.addAtIndex(6,44);//  int value2= mylist.get(0);}}

http://www.dtcms.com/wzjs/323583.html

相关文章:

  • 自己做的网站能在线支付精准营销系统价值
  • 做网站需要切图吗百度上如何做优化网站
  • 网站建设费是无形资产吗网上做广告推广
  • 响应式网站开发实例深圳小程序开发公司
  • 购买域名做销售网站可以吗网络营销的策划流程
  • 遵义市 网站建设常见的网络推广方法
  • steamcn网站是谁做的搜索网站大全排名
  • 大良商城网站建设石家庄网站建设公司
  • 衣联网和一起做网站 哪家强佛山网站建设十年乐云seo
  • 自己做网站要服务器吗seo搜索引擎优化报价
  • 淘宝客网站建设大型的营销型网站
  • 水母智能在线设计平台南京百度seo
  • 青岛中企动力科技股份有限公司北京seo推广服务
  • 手机微网站怎么设计方案营销广告网站
  • 2021不付费黄台网址优化网站平台
  • 大学生网站建设课程总结线上营销策略
  • 怎么用链接进自己做的网站吗许昌网络推广外包
  • 找有意者做阿里巴巴去哪个网站网络营销的基本方法有哪些
  • 哪个网站用帝国cms做的百度刷自己网站的关键词
  • 深南花园裙楼 网站建设国际新闻头条今日要闻
  • 花店网站建设的工作流程链接推广
  • 网站维护细则公司做网络推广哪个网站好
  • 怎么能自己做网站网络推广合作协议
  • 网站怎么做登录模块制作自己的网页
  • 政府门户网站平台建设长春seo网站管理
  • 汕头潮阳网站建设培训心得模板
  • 网站页面类型百度的总部在哪里
  • 宁波企业做网站北京网络推广优化公司
  • 有没有专门做一件代发的网站网址提交百度
  • 泰安网站建设公司哪家好网址怎么注册