- 博客(4)
- 收藏
- 关注
原创 找链表中倒数第k个节点
剑指offer上有道题是这样的: 输入一个链表,输出该链表中倒数第K个节点。例如:一个链表有6个节点,1--2--3--4--5--6,找倒数第三个节点就是指向4的那个节点。 链表节点定义如下: struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }
2017-05-29 11:54:06 505
原创 多线程编程
1.线程概念; 2.有关线程的一些理解; 3.线程的控制 ; 4.获取线程的id ; 5.线程的可结合和可分离; 6.线程切换的情况; 7.在Linux环境下进程与线程的区别.1.线程概念 进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,而今天介绍的多线程是进程内部执行的一个分支,同一进程的多个线程共享同一地址空间,因此文本段、数据段都是
2017-05-28 20:57:37 635
原创 二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。例如:把9表示成二进制是1001,有2位是1,因此输入9时,该函数输出为2. 1.看到这个题首先我们可能会想到的是通过不断进行移位操作来判断二进制最右边的一位是否为1,是则count++;如下代码所示: int NumberOf1(int n) { int count=0; while(n) { if(n&1) { count
2017-05-23 19:37:29 292
原创 旋转数组的最小数字
最近看了剑指offer上的这样一道题: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。note:给出的所有元素都大于0,若数组大小为0,请返回0。 1. 分析:对于这样一道题,遍历一遍就能找出数组中最小的那个,但是时间复杂度为
2017-05-22 20:14:15 595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人