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

题目


题目描述

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。


剑指Offer-30-包含min函数的栈

题目


题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。


剑指Offer-29-顺时针打印矩阵

题目


题目描述

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。


剑指Offer-28-对称的二叉树

题目


题目描述

请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

    1
/ \
2 2
/ \ / \
3 4 4 3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

  1
/ \
2 2
\ \
3 3

剑指Offer-27-二叉树的镜像

题目


题目描述

请完成一个函数,输入一个二叉树,该函数输出它的镜像。

例如输入:

     4
/ \
2 7
/ \ / \
1 3 6 9

镜像输出:

     4
/ \
7 2
/ \ / \
9 6 3 1

剑指Offer-26-树的子结构

题目


题目描述

输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)

B是A的子结构, 即 A中有出现和B相同的结构和节点值。

例如:
给定的树 A:

    3  
/ \
4 5
/ \
1 2

给定的树 B:

  4 
/
1

返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。


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

题目


题目描述

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。


剑指Offer-24-反转链表

题目


题目描述

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。


剑指Offer-22-链表中倒数第k个节点

题目


题目描述

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。


剑指Offer-21-调整数组顺序使奇数位于偶数前面

题目


题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×