
面试题1 数值的整数次方
要求:求一个数的整数次方
思路:需要考虑次方是正数、负数和0,基数是0
浮点数相等不能直接用==

面试题2 打印1到最大的n位数
要求:输入n,打印出从1到最大的n位数
思路:Python中已经对大整数可以进行自动转换了,所以不需要考虑大整数溢出问题

面试题3 O(1)时间删除链表结点
要求:O(1)时间删除链表结点
思路:如果有后续结点,后续结点的值前移,删除后续结点,如果没有,只能顺序查找了

面试题4 调整数组顺序使奇数位于偶数前面
思路:使用两个指针,前后各一个,为了更好的扩展性,可以把判断奇偶部分抽取出来

面试题5 链表中倒数第k个结点
要求:求单链表中的倒数第k个结点
思路:使用快慢指针,快的先走k-1步,需要考虑空链表以及k为0

面试题6 反转链表
要求:反转链表
思路:需要考虑空链表,只有一个结点的链表

面试题7 合并两个排序的链表
要求:合并两个排序的链表
思路:使用递归

面试题8 树的子结构
要求:判断一棵二叉树是不是另一个的子结构
思路:使用递归

面试题9 二叉树的镜像
思路一:可以按层次遍历,每一层从右到左
思路二:使用递归

面试题10 顺时针打印矩阵
每一圈的开始位置总是坐上角元素[0, 0], [1, 1]...


