自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 从上往下打印二叉树

/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector PrintFromTopToBottom

2017-02-26 05:11:28 161

原创 合并两个有序链表

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {

2017-02-26 04:51:06 181

原创 链表中倒数第k个结点

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {

2017-02-26 04:30:18 231

原创 翻转单链表

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* pHead) { ListNode *dummy = new

2017-02-26 04:19:35 200

原创 1+2+3+....+n

题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。class Solution {public: int Sum_Solution(int n) { return (long(1)+n)*n/2; }};

2017-02-26 00:15:12 220

原创 二进制中1的个数

class Solution {public: int NumberOf1(int n) { int count = 0; while(n) { ++count; n = (n-1)&n; } return count; }};

2017-02-26 00:13:20 140

原创 用两个栈实现队列

class Solution{public: void push(int node) { stack1.push(node); } int pop() { int res = 0; if(!stack2.empty()) { res = stack2.top();

2017-02-25 23:55:50 119

原创 斐波那契数列非递归算法

class Solution {public: int Fibonacci(int n) { int res[2] = {0,1}; if(n<=1) return res[n]; int num1 = 1; int num2 = 0; int sum = 0;

2017-02-25 23:50:42 311

原创 二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5

2017-02-25 23:31:46 132

原创 二叉树的深度

/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: int TreeDepth(TreeNode* pRo

2017-02-25 23:24:41 122

原创 不用加减乘除做加法

class Solution {public: int Add(int num1, int num2) { if(num1 == 0) return num2; if(num2 == 0) return num1; int sum,carry;

2017-02-25 23:20:29 154

原创 同步机制摘要

i 锁住一个未被拥有的 mu tex,比锁住一个未被拥有的 critical section,需要花费几乎 100 倍的时间。因为critical section 不需要进入操作系统核心,直接在“ user m ode”就可以进行操作。(译注:作者这里所谓的“usermode”,是相对于 Window s NT的“ kernel mode”而言。至于Window

2017-02-13 22:44:01 190

原创 关于struct

struct 大小计算方法:1、  结构体的大小等于结构体内最大成员大小的整数倍2、  结构体内的成员的首地址相对于结构体首地址的偏移量是其类型大小的整数倍,比如说double型成员相对于结构体的首地址的地址偏移量应该是8的倍数。3、  为了满足规则1和2编译器会在结构体成员之后进行字节填充! eg:classA{        int

2017-01-13 16:01:30 202

原创 求解一个数中含1的个数

int foo(x){ int count = 0; while (x) { count++; x = x & (x - 1); } return count;}

2017-01-10 16:55:37 400

原创 关于字符串的面试题

1.    inta[4]={1,2,3,4};    int*ptr=(int*)(&a+1);    printf(“%d”,*(ptr-1));对于指针来讲,实质就是地址+步长,a,&a,&a[0]都是数组的起始地址。a则等同于&a[0],步长均为sizeof(int)=4;&a的意义是指向整个数组的首地址,步长为sizeo

2017-01-10 14:30:34 208

原创 连续数组子数组最大和

求解连续数组子数组最大和算法,时间复杂度为O(N)#include #define MAX_LEN 1024int main(){ int a[MAX_LEN]; int n; scanf("%d", &n); for (int i = 0; i < n; i++)//这种输入数组的方法 scanf("%d", &a[i]);

2017-01-08 01:24:57 508

原创 linux 常用软件安装

最近部署服务器的时候经常安装的一些数据库和web服务器都可以用lnmp安装包进行一键安装,个人感觉比较方便,记录一下。  yum -y install wget screen python#for CentOS/Redhat#apt-get -y install wget screen python# for Debian/Ubuntuwget http://aliyun-

2016-06-25 16:52:06 433

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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