-
用两个栈实现队列
题目: 用两个栈实现队列题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题:class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.size()){ int n = stack2.top(); stack2.pop(); ...…
-
重建二叉树
题目: 重建二叉树题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题:/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *rig...…
-
从尾到头打印链表
题目: 从尾到头打印链表题目描述: 输入一个链表,从尾到头打印链表每个节点的值。解题:/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solution {public: vector<int> printLis...…
-
替换空格
题目: 替换空格题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题:class Solution {public: void replaceSpace(char *str,int length) { if(str == NULL || length <= 0) return ; int blank_num = 0, i = 0;...…
-
剑指Offer
工作多年,打算重新温故下算法,就先从《剑指Offer》开始入手。目录: 二维数组中的查找 替换空格 从尾到头打印链表 重建二叉树 用两个栈实现队列 旋转数组的最小数字 斐波那契数列 跳台阶 变态跳台阶 矩形覆盖 二进制中1的个数 数值的整数次方链表中倒数第k个结点 调整数组顺序使奇数位于偶数前面 链表中倒数第k个结点 反转链表 合并两个排序的链表 树的子结构 二叉树的镜像 顺时针打印矩阵 包含min函数的栈 栈的压入、弹出序列 从上往下打印二...…
-
二维数组中的查找
题目: 二维数组中的查找题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题:class Solution {public: bool Find(vector<vector<int> > array,int target) { vector<vector<int> >::iterator i...…
-
Jekyll 搭建个人博客
工作至今反反复复搭建过好多次博客,有不同的原因导致博客都没有长久继续下去。每次搭建博客都志气满满,选择开源程序,选择样式,挑选插件,每次都希望能尽善尽美。原本写博客也有督促自己保持学习,但每次都没有坚持下去。 这次希望博客更加纯粹,计划着写一些学习系列,帮助自己,也帮助他人!这次把精力全放在技术本身,所以用了github + Markdown作为博客的载体。博客工具: Markdown:通过Markdown编写文章,不用再为排版花费心思,本地进行文章编写,直接git提交到githu...…