剑指offer一共66道题,涉及到的数据结构有:数组、字符串、链表、树、二叉树、栈、队列,常用的数据操作和算法有:循环、递归、回溯、查找、排序、动规、位运算。下面将分类记录我的刷题思路
- 链表
-
- 从尾部到头部打印链表 (三种方法:借助栈、递归、列表的首位插入)
- 用栈(后入先出)保存,然后弹出;
- 既然想到了用栈,那一定可以通过递归来实现。每访问到一个结点,先递归输出其后的结点,在输出该结点自身即可;
- 使用Java或者python语言时,有一种比较巧妙的方法就是使用列表的插入方法,每次插入数据,都总是插入到首位。
- 从尾部到头部打印链表 (三种方法:借助栈、递归、列表的首位插入)