java算法题面试 java入门基础知识

剑指 Offer 06. 从尾到头打印链表输入一个链表的头节点,从末尾到末尾返回每个节点的值(以数组形式返回)。类别解决方案6 {public int[]reverse print(list node head){//遍历后,根据数组下标将元素闪回数组。int index = 0;ListNode node = head//临时计算链表的长度。whil...

剑指 Offer 06. 从尾到头打印链表

输入一个链表的头节点,从末尾到末尾返回每个节点的值(以数组形式返回)。

类别解决方案6 {

public int[]reverse print(list node head){

//遍历后,根据数组下标将元素闪回数组。

int index = 0;

ListNode node = head//临时计算链表的长度。

while(节点!= null){

index++;

node = node.next

}

//需要打开一个数组

int[]RES = new int[index];

for(int I = index-1;我& gt=0;我–){

RES[I]= head . val;

head = head.next

}

返回res

}

}

指剑献十八。删除链表的节点

class Solution { public ListNode deleteNode(ListNode head, int val) { if(head == null)return null; if(head.val == val) return head.next;//本来是return head, 但是这种情况特色,删除头节点,这行可以删掉,因为后面采用了虚拟头节点 //删除这个节点的前一个节点的位置,先找到,然后变换指针就可以 ListNode dummy = new ListNode(0);//虚拟头节点 dummy.next = head;//让他指向头节点 ListNode node = dummy;//临时节点,被删除的前一个节点 while(node != null && node.next != null){ if(node.next.val == val){ node.next = node.next.next;//单链表删除就是这么简单 break; } node = node.next;//否则的话继续后移 } return dummy.next; }

引用链表中倒数第二个节点。

进入一个链表,输出链表倒数第k个节点。为了符合大多数人的习惯,这个题目从1开始计数,即链表的结束节点为最后一个节点。

例如,一个链表有六个节点,从第一个节点开始,它们的值依次是1,2,3,4,5,6。该链表底部的第三个节点是值为4的节点。

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode getKthFromEnd(ListNode head, int k) { //如果求正数第2个节点,你会怎么做?直接用一个index ,往后走2次就到了 //这里用双指针,两个指针的距离为k, 同时往后移; ListNode fast = head, slow = head; while(fast != null && k>0){ fast = fast.next; k--; } //这里用双指针,两个指针的距离为k, 同时往后移; //slow 指的就是倒数第k个 while(fast != null){ fast = fast.next; slow = slow.next; } return slow; }}

大家加油:P

本文来自胸大无脑是一种心态投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/635369.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 07-15
下一篇 07-15

相关推荐

  • 韩顺平php从入门到精通 php从入门到精通教程

    数组基础含义:数组是一系列数据的***,这些数据按照设定的顺序排列成“链状”。注意:php中数组单元的顺序与下标无关!数组定义(赋值):$arr1 = array(3,11,5,18,2);//这是最常见的数组,下标是“默认下标”,是从0开始的整数;$ arr 2 = array(" a " = >3、“bb”= &g

    2023-07-29 01:18:01
    305 0
  • 象棋入门教程从零开始 初学者入门最全教程,一看就懂

    中国象棋作为我国的国粹,已有几千年的历史,深受人民的喜爱。无论在公园、街道、居民区等。,随处可见下棋的人,周围都是看棋的人。看他们互相争论一会儿,指点迷津,真的很有意思。相信很多人也对象棋感兴趣,但是新手应该怎么下棋呢?新手应该怎么下棋?首先,棋盘和棋子1

    2023-07-26 16:56:01
    543 0
  • 微单反相机哪款好(入门微单反相机哪款好)

    随着微单相机逐渐成为影像市场的主导,无论是购买第一台相机的新用户,还是单反相机的老用户,面对市场上种类繁多的微单相机,应该如何选择?今天在这篇文章中,我们就以佳能EOS R系列专用微单相机为例,谈谈新人和老用户如何选择微单相机。目前市场上销售的佳能EOS R系列专用

    2023-07-25 21:47:01
    875 0
  • seo如何入门(seo入门基础教程)

    SEO是什么?什么是SEO?大家口中的SEO(搜索引擎优化)翻译成中文就是“搜索引擎优化”。本质上,就是如何迎合搜索引擎的规则,让网站在搜索结果中排名更靠前,比如某PDA行业网站。当用户输入“PDA数据采集器”时,如果没有SEO,可能这个网站会出现在第2页或第3页之后。通过用户

    2023-07-25 06:42:01
    356 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信