java设计模式中的代理模式:就是当调用代理者的某个方法时,代理者在自己内部调用被代理者的相应方法,看起来就像代理者自己执行的某个方法样。代理者和被代理者实现同一个接口。
举例:例如朝鲜(NorthKorea)和美国(America)没有建立外交关系,朝鲜对美国喊话(Speak),要通过代理者[......]
java设计模式中的代理模式:就是当调用代理者的某个方法时,代理者在自己内部调用被代理者的相应方法,看起来就像代理者自己执行的某个方法样。代理者和被代理者实现同一个接口。
举例:例如朝鲜(NorthKorea)和美国(America)没有建立外交关系,朝鲜对美国喊话(Speak),要通过代理者[......]
c 面试题之包含min函数的栈。定义栈的数据结构,在该类型中实现一个能够得到栈的最小元素的min函数。要求函数min、push及pop的时间复杂度都是O(1)。这是去年google的一道面试题。
首先会想到在栈里添加一个成员变量来存放最小元素。每次push一个新元素时,如果该元素比当前的最小元[......]
c 面试题之顺时针打印矩阵。输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如,输入如下矩阵:
则依次打印出数字1、2、3、4、8、12、16、15、14、13、9、5、6、7、11、10。
第一次看到这个题目的时候,觉得这个题目很简单,完全不需要用到数据结构或算法的知识[......]
c 面试题之二叉树的镜像。请完成一个函数,输入一个二叉树,该函数输出它的镜像。二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode* m_pLeft;
BinaryTreeNode* m_pRight;
};[......]
c 面试题之树的子结构。输入两棵二叉树A和B,判断B是不是A的子结构。二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode *m_pLeft;
BinaryTreeNode *m_pRight;
};[......]
c 面试题之合并两个排序的链表。输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然递增排序。链表结点定义如下:
[......]
丽人啊!你在哪里?我好孤单好寂寞,也很惨,我不是想博得大家的同情,而是希望大家能明白能理解我,另外我也可以抒发一下自己的心情,发泄一下自己内心的痛苦。如今的我就好像是汪峰那首歌《春天里》:
c 面试题之二叉树中和为某一值的路径(图示)。输入一棵二叉树以及一个整数,打印出二叉树里面结点值的与为输入整数的所有路径。由树的根结点开始往下一直到叶节点所经过的结点形成一条路径。二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_nValue;
Bina[......]
c 面试题之复杂链表的复制。请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任意结点或者NULL。结点定义如下:[......]
c 面试题之二叉搜索树与双向链表实例代码介绍。面试题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
二叉树结点的定义:
struct BinaryTreeNode
{
int m_nValue;
BinaryT[......]