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

富平做网站长沙岳麓区广告公司

富平做网站,长沙岳麓区广告公司,寻找客户的平台,seo教学网seojava查找链表中间元素您如何一次找到LinkedList的中间元素是一个编程问题#xff0c;在电话采访中经常问Java和非Java程序员。 这个问题类似于检查回文或 计算阶乘 #xff0c;有时Interviewer还会要求编写代码。 为了回答这个问题#xff0c;候选人必须熟悉LinkedList的数… java查找链表中间元素 您如何一次找到LinkedList的中间元素是一个编程问题在电话采访中经常问Java和非Java程序员。 这个问题类似于检查回文或 计算阶乘 有时Interviewer还会要求编写代码。 为了回答这个问题候选人必须熟悉LinkedList的数据结构即在单个LinkedList的情况下Linked List的每个节点都包含数据和指针这是下一个Linked List的地址并且Singly Linked List的最后一个元素指向空值。 因为要找到链表的中间元素您需要找到链表的长度即计算元素的长度直到结束即直到找到链表的最后一个元素。 是什么使得这个数据结构面试问题有趣是您需要找到inkedList的中间元素 一口气 您不知道LinkedList的长度。 无论是否熟悉时空权衡等这都是考生逻辑能力的考验。 就像您仔细考虑过一样您可以使用两个指针来解决此问题如我上一篇有关如何在Java中查找单链接列表的长度的文章中所述 。 通过使用两个指针在每次迭代中增加一个指针并在每第二次迭代中增加另一个指针。 当第一个指针指向链接列表的末尾时第二个指针将指向链接列表的中间节点。 实际上这种两指针方法可以解决多个类似的问题例如 如何在一个迭代中从链表中的最后一个查找第三个节点或如何从链表中的末个查找第N个元素。 在本Java编程教程中我们将看到一个Java程序该Java程序在一个迭代中找到“链表”的中间元素。 如何通过一遍查找LinkedList的中间元素 这是一个完整的Java程序用于查找Java中“链表”的中间节点。 请记住这里的LinkedList类是我们的自定义类不要将该类与java.util.LinkedList混淆该类是Java中流行的Collection类。 在此Java程序中我们的类LinkedList表示一个链表数据结构该结构包含节点的集合并具有头和尾。 每个节点包含数据和地址部分。 主要方法 LinkedListTest类用于模拟问题我们在其中创建了链表并在链表上添加了一些元素然后对其进行迭代以在Java中通过一次查找链表的中间元素。 import test.LinkedList.Node;/*** Java program to find middle element of linked list in one pass.* In order to find middle element of a linked list * we need to find the length first but since we can only * traverse linked list one time, we will have to use two pointers* one which we will increment on each iteration while * other which will be incremented every second iteration.* So when the first pointer will point to the end of a * linked list, second will be pointing to the middle * element of a linked list** author Javin Paul*/ public class LinkedListTest {public static void main(String args[]) {//creating LinkedList with 5 elements including headLinkedList linkedList new LinkedList();LinkedList.Node head linkedList.head();linkedList.add( new LinkedList.Node(1));linkedList.add( new LinkedList.Node(2));linkedList.add( new LinkedList.Node(3));linkedList.add( new LinkedList.Node(4));//finding middle element of LinkedList in single passLinkedList.Node current head;int length 0;LinkedList.Node middle head;while(current.next() ! null){length;if(length%2 0){middle middle.next();}current current.next();}if(length%2 1){middle middle.next();}System.out.println(length of LinkedList: length);System.out.println(middle element of LinkedList : middle);} }class LinkedList{private Node head;private Node tail;public LinkedList(){this.head new Node(head);tail head;}public Node head(){return head;}public void add(Node node){tail.next node;tail node;}public static class Node{private Node next;private String data;public Node(String data){this.data data;}public String data() {return data;}public void setData(String data) {this.data data;}public Node next() {return next;}public void setNext(Node next) {this.next next;}public String toString(){return this.data;}} }Output: length of LinkedList: 4 middle element of LinkedList: 2 一站式介绍如何查找LinkedList的中间元素。 正如我所说的这是一个很好的面试问题可以将程序员与非程序员分开。 此外此处提到的用于查找LinkedList中间节点的技术可用于从Last或 LinkedList中最后一个元素的第n个元素。 如果您喜欢这篇文章并想尝试一些更具挑战性的编程练习那么请看以下来自各种访谈的编程问题 如何检查LinkedList是否包含Java中的任何循环 解决方案 如何在Java中搜索数组中的元素 解决方案 如何使用冒泡排序算法对数组进行排序 算法 如何在Java中计算数字的总和 解决方案 编写程序来查找Java中String中的第一个非重复字符 程序 如何检查数字在Java中是否为二进制 回答 编写程序以检查数字是否为素数 解决方案 如何防止Java死锁 解决方案 如何在Java中找到数字的最大素数 解决方案 如何在Java中使用递归计算阶乘 算法 如何在Java中声明和初始化二维数组 解决方案 编写一种方法来计算字符串中字符的出现次数 解决方案 如何检查号码是否是阿姆斯特朗号码 解决方案 编写一个程序而不使用Collection API从数组中删除重复项 程序 如何在不使用API​​方法的情况下反转Java中的String 解决方案 写一个方法来从Java中的ArrayList中删除重复项 解决方案 编写程序以检查数字是否为回文 程序 编写程序以检查数组是否包含重复的数字 解决方案 如何找到不超过给定数字的斐波那契数列 解决方案 编写程序以查找排序数组中的缺失数字 算法 关于Java数组有10点 必须知道事实 如何在Java中找到整数数组的前两个最大值 解决方案 编写一种方法来检查两个String是否是彼此的Anagram 方法 如何找到数组中最大和最小的数字 解决方案 编写函数一次找到链接列表的中间元素 解决方案 如何解决Java中的生产者消费者问题。 解决方案 编写程序以检查数字是否为2的幂 程序 到目前为止感谢您阅读此编码面试问题。 如果您喜欢这个String面试问题请与您的朋友和同事分享。 如果您有任何问题或反馈请发表评论。 翻译自: https://www.javacodegeeks.com/2019/03/middle-element-linked-list-java-single-pass.htmljava查找链表中间元素
http://www.zqtcl.cn/news/792600/

相关文章:

  • 大学生创新创业大赛一个网站做两个优化可以做吗
  • 网站设计建设铁总建设函网站
  • 做期货都看哪个网站什么是网络营销的综合工具
  • 专做袜子的网站北京学设计去哪个网站好
  • 一搜网站制作网站支付怎么做
  • 广州 科技网站建设公司国外酷炫flash网站
  • 焦作网站建设焦作wordpress怎么进行301 htaccess
  • 那个网站能找到人做品牌文化的网站
  • 家里做网站买什么服务器好网站建设报价单 文库
  • 网站百度建设银行广西分行招聘网站
  • 打开网站显示404北京公司请做网站工资
  • 网站开发验收流程图app开发制作的图片
  • 网站流量的作用app定制开发和模板开发的区别
  • 如何做分公司网站网站建设与设计开题报告
  • 易语言怎么做网站网络推广客户渠道
  • 唐山哪里有做网站的网站服务器在
  • 网络服务机构的网站广东省住房及建设厅官方网站
  • 工业设计灵感网站商务网页设计与制作微课版答案
  • 如何引用网站上的资料做文献学历提升的正规机构
  • 如何上传wordpress程序聊城网站优化案例
  • 婚纱网站设计目标无代码制作网页
  • 温州网站提升排名打开搜索引擎
  • 企业市场网络推广方案优化方案答案
  • 茂名网站建设咨询wordpress官网上的主题收费吗
  • 如何自己开发网站WordPress修改前端
  • 哪些网站用黑体做的谁给个网站啊急急急2021
  • aspnet网站开发选择题怎样建设网站是什么样的
  • 专业建站公司电话咨询做暧小视频免费视频在线观看网站
  • 移动软件开发专业seo快排技术教程
  • 怎么推广自己的网站wordpress 管理员