输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 解题思路:我们把打印一圈分为四步:第一步从左到右打印一行,第…
二叉树中和为某一值的路径
题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。  …
二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解题思…
数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数字长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2,3, 2, 2, 2, 5, 4, 2}.由于数字2在数组中出现了…
连续子数组的最大和
题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求元素和值最大的那个子数组的和值。 …
从上往下打印二叉树
题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。 解题思路:每一次打印一个结点的时候,如果该结点有…
包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。 &n…
leetcode 二叉树前序遍历的递归和非递归实现
Given a binary tree, return the preorder traversal of its nodes’ values. For example:Given bin…
Merge Two Sorted Lists, 合并两个有序链表
/** * Definition for singly-linked list. * struct ListNode { &n…
向上/向下取整和四舍五入编程实现
在看Guava Cache的实现源码时,其中有个向上取整操作,它的源码如下: int segmentCapacity = initialCapacity / …
leetcode 二叉树中序遍历的递归和非递归实现
Given a binary tree, return the inorder traversal of its nodes’ values. For example:Given bina…
leetcode 二叉树后续遍历的递归和非递归实现
Given a binary tree, return the postorder traversal of its nodes’ values. For example:Given bi…