摘要:
Python 有两个内建的模块用于处理命令行参数:一个是 getopt,《Deep in python》一书中也有提到,只能简单处理 命令行参数;另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。使... 阅读全文
摘要:
[来源]:腾讯2013实习生笔试 给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法:要求O(1)空间复杂度和O(n)的时间复杂度;除遍历计数器与a[N] b[N]外,不可... 阅读全文
摘要:
【试题描述】 将二叉搜索树转换为双向链表对于二叉搜索树,可以将其转换为双向链表,其中,节点的左子树指针在链表中指向前一个节点,右子树指针在链表中指向后一个节点。 思路一:采用递归思想,对于二叉搜索树,将左、右子树分别转换为双向链表,左子树转换所得链表的头结点即整个树的... 阅读全文
摘要:
【试题描述】: 给定二叉树先序中序,建立二叉树的递归算法 其先序序列的第一个元素为根节点,接下来即为其左子树先序遍历序列,紧跟着是右子树先序遍历序列,固根节点已可从先序序列中分离。在中序序列中找到 确定的根节点,根据中序遍历特性,在巾序序列中,根节点前面的... 阅读全文
摘要:
如何准备:Whether you are asked to implement a simple stack / queue, or you are asked to implementa modified version of one, you will have ... 阅读全文
摘要:
如何准备Linked list questions are extremely common These can range from simple (delete a node ina linked list) to much more challenging Ei... 阅读全文
摘要:
如何准备:Bit manipulation can be a scary thing to many candidates, but it doesn’t need to be! If you’re shaky on bit manipulation, we reco... 阅读全文
摘要:
【试题描述】定义一个函数,给定二叉树,给每层生成一个链表We can do a simple level by level traversal of the tree, with a slight modification of the breath-first tr... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个有序数组生成最小高度二叉树We will try to create a binary tree such that for each node, the number of nodes in the left subtree and... 阅读全文
摘要:
【试题描述】定义一个函数,输入判断一个树是否是另一个对的子树You have two very large binary trees: T1, with millions of nodes, and T2, with hun-dreds of nodes Create... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个链表,删除无序链表中重复的节点【参考代码】方法一:Without a buffer, we can iterate with two pointers: “current” does a normal iteration, while... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个链表,判断链表是否存在环路平衡二叉树,又称AVL树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的高度之差之差的绝对值不超过1。问题:判断一个二叉排序树是否是平衡二叉树这里是二叉排序... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个链表,判断链表是否存在环路,并找出回路起点Circular linked list: A (corrupt) linked list in which a node’s next pointer points to an earlie... 阅读全文
摘要:
【试题描述】定义一个函数,字符串转数组数组转字符串【参考代码】 1 public static int strToInt(String str) 2 { 3 int i = 0, num = 0; 4 char[] st... 阅读全文
摘要:
【试题描述】定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点【参考代码】方法一: 1 public static Link reverseLinkList(Link head) 2 { 3 if (head == ... 阅读全文
摘要:
【试题描述】求二叉树中任意两个节点的最近公共祖先也称为LCA问题(Lowest Common Ancestor)。 二叉查找树如果该二叉树是二叉查找树,那么求解LCA十分简单。基本思想为:从树根开始,该节点的值为t,如果t大于t1和t2,说明t1和t2都位于t的左侧,... 阅读全文
摘要:
【试题描述】输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。分析:这是一道很好的考查对递归理解的编程题,因此在过去一年中频繁出现在各大公司的面试、笔试题中。思路:同样是用递归求解。可以考虑求... 阅读全文
摘要:
【试题描述】输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab,cba。分析:这是一道很好的考查对递归理解的编程题,因此在过去一年中频繁出现在各大公司的面试、笔试题中。... 阅读全文
摘要:
【试题描述】 You are given a binary tree in which each node contains a value. Design an algorithm to print all paths which sum up to tha... 阅读全文
摘要:
【试题描述】 输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数 22 和如下二元树 10 / \... 阅读全文