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

网站开发后怎么转安卓app中企动力官方网站

网站开发后怎么转安卓app,中企动力官方网站,广州室内设计培训学校,视觉设计软件文章目录 链表基础理论移除链表元素设计链表反转链表 链表基础理论 几个需要关注的知识点: 链表与数组的不同之处就在于:链表在内存中不一定是连续的,可以是离散存储的,他们之间通过指针进行连接。这也就决定了链表是不能随机查…

文章目录

  • 链表基础理论
  • 移除链表元素
  • 设计链表
  • 反转链表

链表基础理论

几个需要关注的知识点:

  • 链表与数组的不同之处就在于:链表在内存中不一定是连续的,可以是离散存储的,他们之间通过指针进行连接。这也就决定了链表是不能随机查询的,只能通过指针顺藤摸瓜进行顺序查询。
  • 在数组中删除和添加操作会影响到后续的所有元素,而链表是通过指针链接,我们在删除和添加的时候,是对指针所指元素进行修改。
  • 数组的长度在初始化的时候就已经定下来了,而链表的长度是可以不固定的,因为其离散的存在于内存之中。
  • 链表的增加、删除操作一般可以引入一个虚拟头节点完成,使逻辑更加简洁,可以无需考虑头节点的更新以及边界情况的处理。
    • 要是有虚拟头节点,头节点就固定为虚拟头节点的下一个节点,所有的插入和删除操作都能以统一的方式进行处理。

Java语言的单链表定义:

public class ListNode {// 结点的值int val;// 下一个结点ListNode next;// 节点的构造函数(无参)public ListNode() {}// 节点的构造函数(有一个参数)public ListNode(int val) {this.val = val;}// 节点的构造函数(有两个参数)public ListNode(int val, ListNode next) {this.val = val;this.next = next;}
}

移除链表元素

题目链接:203. 移除链表元素

删除逻辑:

  • 首先为链表增添一个虚拟头节点
  • 然后从头节点开始遍历整个链表找到要删除的元素
  • 执行删除逻辑必不可少的两个节点就是删除节点的前缀节点和后缀节点
  • 然后通过指针的修改完成链表的删除操作

代码如下:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode removeElements(ListNode head, int val) {ListNode virtualHead = new ListNode(-1,head);ListNode pointer = virtualHead;while(pointer != null && pointer.next != null) {if(pointer.next.val == val) {pointer.next = pointer.next.next;continue;}pointer = pointer.next;}return virtualHead.next;}
}

设计链表

设计链表:707. 设计链表

逻辑不是很难,主要是调试解决一些细枝末节的问题。重点主要是了解链表的删除、添加逻辑(在有头节点的情况下)

代码如下:

class MyLinkedList {int val;MyLinkedList next;int length;public MyLinkedList() {val = -1;next = null;length = 0;}public MyLinkedList(int val,MyLinkedList next) {this.val = val;this.next = next;}public int get(int index) {if(index >= length || index < 0) {return -1;}int count = index + 2;MyLinkedList pointer = this;while(count > 0) {if(count == 1) return pointer.val;count -= 1;pointer = pointer.next;}return -1;}public void addAtHead(int val) {MyLinkedList addNode = new MyLinkedList(val,this.next);this.next = addNode;length += 1;}public void addAtTail(int val) {MyLinkedList pointer = this;while(pointer.next != null) pointer = pointer.next;MyLinkedList addNode = new MyLinkedList(val,null);pointer.next = addNode;length += 1;}public void addAtIndex(int index, int val) {if(index > length || index < 0) {return;}else if(index == length) {addAtTail(val);}else if(index == 0){addAtHead(val);}else {int count = index + 1;MyLinkedList pointer = this;while(count > 0 && pointer.next != null) {if(count == 1) {MyLinkedList addNode = new MyLinkedList(val,pointer.next);pointer.next = addNode;}count -= 1;pointer = pointer.next;}length += 1;}}public void deleteAtIndex(int index) {if(index >= length || index < 0) {return;}else {int count = index + 1;MyLinkedList pointer = this;while(count > 0 && pointer.next != null) {if(count == 1) {pointer.next = pointer.next.next;}count -= 1;pointer = pointer.next;}length -= 1;}}
}

反转链表

题目链接:206. 反转链表

解题逻辑:在遍历链表的同时,使用头插法创建一个新链表,得到的新链表就是反转后的链表。

代码如下:

class Solution {public ListNode reverseList(ListNode head) {ListNode reverseResultVirtualHead = new ListNode();ListNode pointer = head;while(pointer != null) {ListNode currentNode = new ListNode(pointer.val,null);currentNode.next = reverseResultVirtualHead.next;reverseResultVirtualHead.next = currentNode;pointer = pointer.next;}return reverseResultVirtualHead.next;}
}

文章转载自:

http://DRXIIXcC.qyhcm.cn
http://8UJv9mAa.qyhcm.cn
http://M6I4iEYq.qyhcm.cn
http://MwAD4TyY.qyhcm.cn
http://BaCHO55j.qyhcm.cn
http://4xQZeulQ.qyhcm.cn
http://bkshzZV7.qyhcm.cn
http://1sgWeh5r.qyhcm.cn
http://EmvS5w5V.qyhcm.cn
http://dhbdeGl8.qyhcm.cn
http://bGvpwrHV.qyhcm.cn
http://jjfcYf0i.qyhcm.cn
http://IrVUVetc.qyhcm.cn
http://6YA1E2lx.qyhcm.cn
http://r8STherP.qyhcm.cn
http://7uJkgzTB.qyhcm.cn
http://wJnML0Lq.qyhcm.cn
http://1E8sPq7C.qyhcm.cn
http://GSMzVVwl.qyhcm.cn
http://OdCbOyM4.qyhcm.cn
http://5J8PmqiJ.qyhcm.cn
http://Wr0iw3yA.qyhcm.cn
http://CzrRaTEC.qyhcm.cn
http://Kepvco2R.qyhcm.cn
http://t9fFLwUY.qyhcm.cn
http://FCj30RjG.qyhcm.cn
http://QW8NSl6K.qyhcm.cn
http://lzByO1aQ.qyhcm.cn
http://cHJpXprd.qyhcm.cn
http://QhtkE1qY.qyhcm.cn
http://www.dtcms.com/wzjs/757817.html

相关文章:

  • 做资料分享网站有哪些wordpress 外贸建站
  • 做flash网站框架引擎梁溪区住房和城乡建设局网站
  • 负责公司网站的更新和维护专业做室内设计的网站有哪些内容
  • 做一斗地主网站多少钱wordpress 配置ftp
  • 动态asp.net网站开发wordpress的网站是php的代码
  • 中文网站开发工具中国十大电商做的好的网站
  • 北京主页网站建设深圳在建高铁站
  • 中国建设人才服务信息网是正规网站公司网络推广怎么做
  • 做网站如何分页的网站
  • 龙华网站建设设计公司科技进化论
  • 新增域名网站建设方案io域名购买
  • 网站建设答辩ppt模板产生非对称效果的是
  • 福州网站优化公司做网站需要学什么专业
  • 西安鑫瀚通网站建设网站的集约化建设
  • 漳州企业网站建设制作seo是啥
  • 我的世界做头像的网站做任务推广网站
  • 手机版的网站开发微信网站模板源码下载
  • 网站关键词密度太高怎么处理精品网站建
  • 婚礼网站有哪些郑州网络推广厂家
  • 宁夏 网站开发前端用什么软件开发
  • 黄冈做网站的公司快速建立网站
  • 阅读分享网站模板分类信息源码cms
  • 福田商城网站建设哪家便宜wordpress 链接地址
  • 中国交通建设集团有限公司网站株洲企业网站制作
  • 汽车精品设计网站建设东莞十大公司排名
  • 义乌市建设局官方网站软件开发工程师是程序员吗
  • 彩票网站里的统计怎么做平面设计师招聘广告文案
  • 怎样创建网站或者网址wordpress默认主题
  • 网站效果展示网站搜索优化公司
  • 手机网站 尺寸中国十大建筑公司