谷歌面试官经典作品(CTCI)目录 1.1 判断一个字符串中的字符是否唯一 1.2 字符串翻转 1.3 去除字符串中重复字符 1.8 利用已知函数判断字符串是否为另一字符串的子串 2.1 从链表中移除重复结点 2.2 实现一个算法从一个单链表中返回倒数第n个元素 2.3 给定链表中间某结点指针,删除链表中该结点 2.4 求由两个链表结点组成的数之和 2.5 给定一个循环链表,实现一个算法返回这个环的开始结点 3.1 如何只用一个数组实现三个栈 3.2 实现一个栈,要求实现min函数以返回栈中的最小值 3.3 实现数据结构SetOfStacks来模拟叠盘子 3.4 编程解决汉诺塔问题 3.5 使用两个栈实现一个队列 3.6 写程序将一个栈按升序排序 4.1 用一个函数判断一棵树是否平衡 4.2 设计算法判断有向图两结点间是否存在路径 4.3 将递增数组构建成一颗最小高度二叉树 4.4 将二叉树每一层结点构建成一个链表 4.5 查找二叉查找树的任意给定结点的“下一个”结点 4.6 找出一棵二叉树中两个结点的第一个共同祖先结点 4.7 判断一棵二叉树是否为另一棵二叉树的子树 4.8 输出二叉树中路径上结点值之和为给定值的所有路径 5.1 写程序使整数N中第i位到第j位的值与整数M中的相同 5.2 给定一个字符串类型表示的小数,输出其二进制表示 5.3 给定一个整数x,找出另外两个二进制表示中1的个数和x相同的数 5.4 解释以下代码的作用:((n & (n-1)) == 0) 5