HnuWyd的博客

IT知识点记录

剑指Offer—二叉树分层打印

剑指Offer—二叉树分层打印 题目 解题思路:建立一个队列,存放结点,创建两个指针指向最近结点和行尾结点 /** * 分层遍历二叉树(使用队列实现) * 1、新建队列,且创建两个临时节点元素last和nlast,初始值均为头结点,栈顶元素压入队列 * 2、循环遍历队列,如果不...

2018-05-17 17:08:25

阅读数:24

评论数:0

剑指Offer—栈的压入、弹出序列

剑指Offer—栈的压入、弹出序列 题目 解题思路:新建一个栈模拟栈的压入弹出过程 /** * 新建一个栈模拟压栈和弹出过程 * @param pushA * @param popA * @return */ public boolean IsPopOrder(int []...

2018-05-03 17:27:23

阅读数:9

评论数:0

剑指Offer—包含min函数的栈

包含min函数的栈 题目 解题思路:定义两个栈,一个正常存放对栈进行操作,另一个一直存放最小元素。 private Stack<Integer> stack = new Stack(); private Stack<I...

2018-05-02 16:11:28

阅读数:17

评论数:0

剑指Offer—顺时针打印矩阵

顺时针打印举证 题目 解题思路:依次读取上边框、右边框、下边框、左边框。读取之后行列变量进行改变。 /** * 依次读取上边框、右边框、下边框、左边框 * 读取之后行列变量进行改变 * @param matrix * @return */ public ArrayLis...

2018-05-02 15:50:27

阅读数:15

评论数:0

剑指Offer—二叉树的镜像

二叉树的镜像 题目 解题思路:判断当前节点是否存在,如果存在就交换该节点的左右孩子,依次递归。 /** * 递归方法 * 如果当前节点存在就交换该节点的左右孩子,依次递归 * @param root */ public void Mirror(TreeNode root) {...

2018-05-02 15:14:11

阅读数:21

评论数:0

剑指Offer—树的子结构

树的子结构 题目 解题思路一:递归方式,依次把根节点、做孩子节点、有孩子节点作为根节点递归判断,只要有一个返回为true则就是子结构。判断的过程也是递归的,先判断根节点、左孩子是否一样,再判断右孩子。 public boolean HasSubtree(TreeNode root1,...

2018-04-28 19:29:18

阅读数:19

评论数:0

剑指Offer—链表中倒数第K个节点

剑指Offer之——链表中倒数第K个节点 题目 解题思路:解题思路:设连链表的长度为N,并定义两个指针p1,p2分别指向链表的头节点,首先p1向后移动K个节点,则剩下N-K个节点,然后指针p1和指针p2同时向后移动,直到节点p1为null,则p1一共移动了N个节点,指针p2一共移动了N...

2018-04-28 19:27:33

阅读数:15

评论数:0

剑指Offer—合并两个排序的链表

合并两个排序链表 题目 题目描述 解题思路一:递归方式,节点之间两两比较直到某个链表为空。 /** * 使用递归的方式 使节点之间相互比较 * @param list1 * @param list2 * @return */ public ListNode Mer...

2018-04-28 19:26:38

阅读数:7

评论数:0

剑指Offer—反转链表

剑指Offer——反转链表 题目 解题思路一:我们可以用栈的方式,把链表中的元素都压栈,改变next域,然后一次弹出,时间复杂度稍高。 /** * 使用栈的方式 * @param head 头结点 * @return 头结点 */ public L...

2018-04-28 19:23:55

阅读数:7

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭