首页 > 编程语言 >《剑指offer》面试题的Java实现-从尾到头打印链表

《剑指offer》面试题的Java实现-从尾到头打印链表

时间:2023-10-10 21:11:16浏览次数:43  
标签:count 面试题 Java int head value 链表 LinkNode

输⼊⼀个链表的头节点,按链表从尾到头的顺序返回每个节点的值(⽤数组返回)。⽐如下⾯的链表:

 

public static class LinkNode{

    int value;
LinkNode next;
LinkNode(int value){
this.value = value;
}
}
//思路:将链表进行遍历,在遍历的过程中记录元素的个数,
//然后new一个新的int类型的数组,数组大小就是遍历到的元素个数,
//之后通过从后往前插入元素的方法将链表中的元素插入到数组中
public static int[] solution4_1(LinkNode head){
if(head == null)
return new int[0];
//记录链表中元素的个数
int count = 0;
LinkNode temp = head;
while(temp!=null){
count ++;
temp = temp.next;
}

int []res = new int[count];
int k = count - 1;
while(head!=null){
res[k--] = head.value;
head = head.next;
}
return res;
}

标签:count,面试题,Java,int,head,value,链表,LinkNode
From: https://www.cnblogs.com/rzyshenhai/p/17755765.html

相关文章

  • 运算符-包机制-javaDoc生成文档
    publicclassDemo12{publicstaticvoidmain(String[]args){//与(and)或(or)非(取反)booleana=true;booleanb=false;System.out.println("a&&b:"+(b&&a));//逻辑与运算:两个变量都为真,结果才为trueSystem.......
  • 如何在JavaScript中验证电子邮件地址?
    内容来自DOChttps://q.houxu6.top/?s=如何在JavaScript中验证电子邮件地址?我想在将用户输入发送到服务器或尝试向其发送电子邮件之前,在JavaScript中检查它是否是电子邮件地址,以防止最基本的拼写错误。我该如何实现?使用正则表达式可能是在JavaScript中验证电子邮件地址的最......
  • 在JavaScript中,如何替换所有出现的字符串?
    内容来自DOChttps://q.houxu6.top/?s=在JavaScript中,如何替换所有出现的字符串?给定一个字符串:s="Testabctesttestabctesttesttestabctesttestabc";这似乎只删除了上面字符串中的第一个abc:s=s.replace('abc','');如何替换所有的它的出现?在大多数流......
  • 【Android面试】2023最新面试专题六:Java并发编程(一)
    1、假如只有一个cpu,单核,多线程还有用吗?详细讲解享学课堂移动互联网系统课程:架构师筑基必备技能《线程与进程的理论知识入门1》这道题想考察什么?是否了解并发相关的理论知识考察的知识点cpu多线程的基本概念操作系统的调度任务机制CPU密集型和IO密集型理论考生应该如何回答CPU的执......
  • Java观察者模式-SpringBoot实现观察者模式
    观察者模式一、Java观察者模式Java观察者模式是一种设计模式,用于实现对象之间的一对多依赖关系。在观察者模式中,当一个对象的状态发生变化时,它的所有依赖对象(观察者)都会自动收到通知并进行相应的更新。观察者模式由以下几个核心组件组成:主题(Subject):也称为被观察者或可观察对......
  • Java 集合
    目录Java集合List,Set,Queue,Map的区别集合框架底层数据结构CollectionListSetQueueMap如何选用集合?ListArrayList和Array(数组)的区别转换ArrayList转换为数组数组转换为ArrayListSetComparable和Comparator的区别Comparable接口Comparator接口总结HashSetLinkedHas......
  • Java 中 extends 与implements 的区别 ?
    一、介绍extends与implements的概念1、类与类之间的继承使用extends:子类extends父类的属性和方法,并且进行扩展或者重写。//父类classAnimal{publicvoideat(){System.out.println("Animaliseating");}publicvoidnoeat(){......
  • Java设计模式之责任链模式
    1.1.概述在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领......
  • Java创建PKCS12证书Http请求
    //证书地址publicstaticfinalStringPATH="XX.pfx";//密码publicstaticfinalStringPASSWORD="aaa";publicstaticCloseableHttpClientinitSSLConfig()throwsException{//证书类型KeyStorekeyStore=KeyStore.getInstanc......
  • 详解如何通过JavaScript实现函数重载
    有的同学在开发中可能遇到过一个困扰,但是很少有人去解决这个问题,我这用一个例子展现出来constsearcher={};searcher.findAll=()=>{console.log("查询所有用户");};searcher.findByName=(name)=>{console.log("按照用户名称查询");};searcher.findByFirstN......