![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer-java
哈士奇之怒
这个作者很懒,什么都没留下…
展开
-
【剑指offer】面试题15:链表中倒数第k个结点
题目 输入一个链表,输出该链表中倒数第k个结点。 为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6,这个链表的倒数第3个结点是值为4的结点。思路思路1(不推荐) 倒数第k个结点=从头结点开始的第n-k+1个结点。遍历两次,第一次计数(链表长度),第二次遍历查找倒数第k个结点。但是要遍历两边链表原创 2017-05-31 12:11:37 · 400 阅读 · 0 评论 -
【剑指offer】面试题16:反转链表
题目思路代码实现原创 2017-05-31 19:23:41 · 341 阅读 · 0 评论 -
【剑指offer】面试题07:用两个栈实现队列
题目 用两个栈来实现一个队列,完成队列的push和pop操作。 队列中的元素为int类型。思路栈:先进后出队列:先进先出 其实知道了栈和队列的特点这道题就很容易了,思路也就不多说了,直接看代码实现就可以理解。代码实现import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack原创 2017-06-06 17:08:49 · 370 阅读 · 0 评论 -
【剑指offer】面试题05:从尾到头打印链表
题目 输入一个链表,从尾到头打印链表每个节点的值。思路 思路1:遍历链表,从尾到头打印。遍历是从头到尾,但输出却是从尾到头,“先进后出”,使用栈(Stack)实现。 思路2:递归。但是不建议使用,因为当链表非常长的时候,函数调用的层级很深,有可能导致函数调用栈溢出。代码实现1.思路1,使用栈实现。/*** public class ListNode {* int原创 2017-06-02 21:24:17 · 316 阅读 · 0 评论 -
【剑指offer】面试题19:二叉树的镜像
题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像。思路先画图观察二叉树的镜像的特点。 1.源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 2.镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 观察可得:求树的镜像的过程其实就原创 2017-06-07 11:06:12 · 461 阅读 · 0 评论 -
【剑指offer】面试题37:两个链表的第一个公共结点
题目 输入两个链表,找出它们的第一个公共结点。思路特点 特点:公共结点指结点的val相等且next指向同一结点。因此从第一个公共结点开始,两个链表后面的所有结点都是重合的,不会再分叉。链表结点定义:/*public class ListNode { int val; ListNode next = null; ListNode(int val) {原创 2017-06-10 23:43:43 · 559 阅读 · 0 评论