![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
信仰xinyang
这个作者很懒,什么都没留下…
展开
-
【剑指offer-ACM】JZ6-倒序输出链表
思路:使用一个栈来保存元素,利用栈的先进后出的特性,逐个弹出栈中元素加入list集合,即可实现倒序输出。package com.zf;//倒序输出链表import java.util.*;//构造链表节点public class JZ6 { static class ListNode{ int val; ListNode next=null; public ListNode(int val) { this.val =原创 2021-12-01 22:09:26 · 456 阅读 · 0 评论 -
【剑指offer】队列+BFS+二叉树三道典型例题
【剑指offer】队列+BFS+二叉树三道典型例题简单介绍一下BFS其过程简单来说是对每一层节点依次访问,访问完一层进入下一层,而且每个节点只能访问一次。对于上面的例子,BFS的结果就是A,B,C,D,E,F,G,H,I(假设每层节点从左到右访问)。广度优先遍历各个节点,需要使用队列(Queue)这种数据结构,其特点是先进先出。也可以使用双端队列,区别就是双端队列首尾都可以插入和弹出节点。整个遍历过程如下:1)首先将A节点插入队列中,queue(A);2)将A节点弹出,同时将A的子结点B、C插原创 2021-09-29 08:57:21 · 110 阅读 · 1 评论 -
【剑指offer】行星碰撞-利于辅助栈并且判断碰撞条件
解题思路通过题目描述可以了解到,只有当数组中正负数分界线左边为正数,右边为负数时,才会发生碰撞,当数组中全为负数或者全为正数时(即不存在分界线),或者分界线左侧为负数,右侧为正数,例如 [-2,-1,1,2]以上几种情况时,不可能发生碰撞。用一个辅助栈当当前元素与栈顶元素异号,且分界线左侧为正数,右侧为负数(此时当前元素应为负,栈内元素为正),判断栈顶元素和当前元素绝对值大小1:当前元素绝对值<栈顶元素绝对值,栈顶元素不变,即此时当前元素爆炸;2:当前元素绝对值>栈顶元素绝对值,栈顶.原创 2021-09-28 14:26:31 · 57 阅读 · 0 评论