剑指Offer算法题
2022/1/16 17:09:03
本文主要是介绍剑指Offer算法题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、链表
1、从尾到头打印链表
使用栈先进后出
class Solution { public int[] reversePrint(ListNode head) { //将链表数据依次放到栈中 Stack<ListNode> stack = new Stack<ListNode>(); ListNode p= head; while (p!= null) { stack.push(p); p= p.next; } //将栈中的数弹出放到数组中 int size = stack.size(); int[] print = new int[size]; for (int i = 0; i < size; i++) { print[i] = stack.pop().val; } return print; } }
2、删除链表的节点
class Solution { public ListNode deleteNode(ListNode head, int val) { //删除时添加dummy头节点,方便修改头节点 ListNode dummy = new ListNode(-1); dummy.next=head; ListNode p=dummy; //找到值为val的节点 while(p.next.val!=val){ p=p.next; } //执行删除操作 p.next=p.next.next; //返回dummy的下个节点 return dummy.next; } }
3、链表中倒数第k个节点
这篇关于剑指Offer算法题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南