剑指Offer之Java算法习题精讲链表专题篇
题目一
文章图片
解法
/** * 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 int getDecimalValue(ListNode head) {int[] arr = new int[31]; int index = 0; int ans = 0; while(head!=null){arr[index] = head.val; index++; head = head.next; }for(int i = 0; i
题目二
文章图片
解法
/** * Definition for singly-linked list. * public class ListNode { *int val; *ListNode next; *ListNode(int x) { val = x; } * } */class Solution {public int[] reversePrint(ListNode head) {int index = 0; ListNode h = head; while(head!=null){head = head.next; index++; }int[] arr = new int[index]; while(h!=null){arr[index-1] = h.val; index--; h = h.next; }return arr; }}
题目三
文章图片
解法
/** * Definition for singly-linked list. * public class ListNode { *int val; *ListNode next; *ListNode(int x) { val = x; } * } */class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {ListNode node = new ListNode(-1); ListNode ans = node; while(l1!=null&&l2!=null){if(l1.val<=l2.val){node.next = l1; l1 = l1.next; }else{node.next = l2; l2 = l2.next; }node = node.next; }if(l1!=null){node.next = l1; }if(l2!=null){node.next = l2; }return ans.next; }}
【剑指Offer之Java算法习题精讲链表专题篇】到此这篇关于剑指Offer之Java算法习题精讲链表专题篇的文章就介绍到这了,更多相关Java 链表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 剑指Offer之Java算法习题精讲二叉树与斐波那契函数
- 剑指Offer之Java算法习题精讲二叉树专题篇下
- 剑指Offer之Java算法习题精讲二叉树与N叉树
- 不归路之Python|什么是计算机网络(为什么需要网络通信?如何进行网络编程?)
- Python自动化办公之邮件发送全过程详解
- Unity实战之FlyPin(见缝插针)小游戏的实现
- 手写|手写 Vue2 系列 之 patch —— diff
- leetcode|算法入门之字符串(Python)【初级算法——字符串】【蓝桥杯练习】【力扣练习】
- redis|秒杀项目前期之登录功能
- java|秒杀项目(二)之验证功能&&全局共享&&参数解析器