笔试面试必会代码 以及必看书籍

原地址:http://blog.csdn.net/liuqiyao_01/article/details/16960695

笔试面试必会代码

 

链表:

在链表中找到第一个含有某值的节点并删除该结点

从头到尾打印链表

合并两个排序链表

反转链表

链表中倒数第k个结点

O(1)时间删除链表结点

复杂链表的复制

两个链表的第一个公共结点

 

二叉树:

深度优先遍历

广度优先遍历

求二叉树的深度和宽度或者面积

重建二叉树

判断树a是不是树b的子结构

二叉树镜像

从上往下打印二叉树

二叉树的后序遍历序列

二叉树中和为某一值的路径

二叉搜索树变成双向链表

 

字符串:

Strstr(kmp)

Strcmp

Strcpy

Memcpy

字典树

线段树

后缀树判断最长重复子串

字符串中替换空格

字符串的全排列

翻转单词顺序/左旋转字符串

字符串转化成整数

 

其他数据结构:

两个栈实现队列

两个队列实现一个栈

包含min函数的栈

栈的压入弹出序列

 

算法:

Quick sort

二进制中1的个数

二维数组中的数的查找

旋转数组中的最小数字

打印1到最大n位数(数组模拟)

调整数组顺序使奇数位于偶数前面

顺时针打印矩阵

数组中次数超过一半的数字

最小的k个数

数组排成最小的数

丑数

数组中第一个只出现一个的字符

数组中的逆序对

数在数组中出现的次数

数组中一个只出现一次的数字(其他都出现两次)

数组中两个只出现一次的数字(其他都出现两次)

数组中三个只出现一次的数字(其他都出现两次)

数组中和威s额两个数字/和为s的连续正数序列

N个骰子的点数

扑克牌的顺子

圆圈中最后剩下的数字(约瑟夫环)

 

动态规划:

求一个序列的最大连续子序列乘积

连续数组的最大和

 

 

C++特性:

不用for while if else switch case 以及 ?: 求1+2+……+n的的和

深拷贝与浅拷贝

设计一个不能被继承的类

内存分配的代码

手动修改栈空间

不用sizeof如何判断操作系统是16位还是32位

大小端

不用+号进行加法运算

不用/号进行除法运算

 

设计模式:

实现一个单例模式

 

必看书籍

 

必看:

《剑指offer》 《编程之美》 《程序员面试笔试宝典》

选看:

《算法导论》 《tcp/ip详解 卷一》 《unix环境高级编程》 《算法导论》 《编程珠玑》

c++:

《effective C++》

java:

《effective java》 《java编程思想》

python:

《python基础教程》 《Head First Python》

 

 好网站推荐

 

大街网校园招聘

july大牛博客

剑指offer原题acm的形式

offer评析

面试笔试需准备

posted @ 2014-06-12 14:06  蓝夜  阅读(302)  评论(0编辑  收藏  举报