
面试题集合
文章平均质量分 78
Kun Li
自古山高水远路,无一不为风尘苦。
展开
-
深度优先遍历和广度优先遍历
深度优先遍历的主要思想就是:首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点,当没有未访问过的顶点时,则回到上一个顶点,继续试探访问别的顶点,直到所有的顶点都被访问过。显然,深度优先遍历是沿着图的某一分支遍历直到末端,然后回溯,再沿着另一条边进行同样的遍历,直到所有的顶点都被访问过为止。 广度优先遍历的思想就是:首先以一个未被访问的顶点,访问其所...原创 2018-08-29 09:51:39 · 3790 阅读 · 0 评论 -
复制含有随机指针节点的链表
题目:Node类中的value是节点值,next指针和正常单链表中next指针的意义一样,都指向下一个节点,rand指针是Node类中新增的指针,这个指针可能指向链表中的任意一个节点,也可能指向None。 给定一个由Node节点类型组成的无环单链表的头节点head,请实现一个函数完成这个链表中所有结构的复制,并返回复制的新链表的头节点。 进阶:不使用额外的数据结构,只用有限几个变量,...原创 2018-08-28 10:46:15 · 218 阅读 · 0 评论 -
仅用递归函数和栈操作逆序一个栈
题目:一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数和自身栈实现,不能使用其他数据结构。两个递归函数,一个递归函数每次取到栈最下面的元素并保留下来,第二个递归函数则是将之前保留的数在压入到栈中。def recur(stack): def getandremo...原创 2018-08-25 16:49:53 · 295 阅读 · 0 评论 -
剑指offer python实现 66道算法题
所有题目均采用牛客网在线编程实现,代码均在github上。数组1.二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数字符串2.替换空格题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为W...原创 2018-02-04 18:19:58 · 20668 阅读 · 1 评论