摘要: 描述 求二叉树中节点的最大距离 分析 二叉树中节点的最大距离=左子树中节点的最大距离+右子树中节点的最大距离 代码 阅读全文
posted @ 2017-02-02 23:05 hellozay 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 描述 代码 阅读全文
posted @ 2017-02-02 22:51 hellozay 阅读(1410) 评论(0) 推荐(0) 编辑
摘要: 描述 二叉树的构建、插入新的结点、树的先中后序以及层序四种遍历 代码 阅读全文
posted @ 2017-02-02 21:55 hellozay 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 描述 输入字符串"abc",则输出a、b、c、ab、ac、bc、abc 共7种组合。 分析 方法一,递归法。遍历每个字符串,每个字符两种情况取或不取。时间复杂度为O(n的2次方)。 方法二,根据每个字符只有取和不取两种情况,0表示不取,1表示取该字符,则原题可以解释为要求输001到111这个组合对应 阅读全文
posted @ 2017-02-02 19:23 hellozay 阅读(1275) 评论(0) 推荐(0) 编辑
摘要: 描述 针对1、2、2、3、4、5这6个数字,编写一个函数,打印出所有不同的排列,要求4不能排第三位,3和5不能相连。 分析 可以利用图的深度遍历。 3和5不能相连 - 意味图中3和5不直连。 4不能排第三位 - 这个可以在遍历后做判断。 注意:由于题中6个数有重复,故遍历时是有重复的序列的,故使用了 阅读全文
posted @ 2017-02-02 18:38 hellozay 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 描述 删除字符串中重复的字符 分析 方法一,蛮力法。两个循环,大循环每次从数组中取出一个字符,小循环重新遍历该数组是否含有该字符。方法二:排序法。对两个字符串的字符进行排序,再比较。方法三:空间换时间。acsII共256个字符。使用256bit记录每个字符是否已出现过。遍历字符串,若已出现过则将该字 阅读全文
posted @ 2017-01-30 19:15 hellozay 阅读(7701) 评论(0) 推荐(0) 编辑
摘要: 描述 判断两个字符串是否由相同的字符组成 分析 方法一,排序法。对两个字符串进行排序,然后在比较。 方法二,空间换时间。ascII字符共256个,对字符串1出现的字符在对应的数组里加1,对字符串1出现的字符在对应的数组里减1。 代码 方法一 排序法。 方法二,空间换时间。 阅读全文
posted @ 2017-01-30 18:38 hellozay 阅读(3796) 评论(0) 推荐(0) 编辑
摘要: 描述 把一个句子的单词进行反转,例如"how are you"改为"you are how"。 分析 两次反转,第一次对整个字符串反转为"uoy era woh",第二次再对每个单词进行反转。 代码 阅读全文
posted @ 2017-01-30 17:52 hellozay 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 缓冲输入文件、输出文件 从内存中读入(将一个string通过StringReader读入) 格式化的内存输入,此时需要用到面向字节的I/O类(InputStream) 使用DataInputStream来存储和恢复数据 DataInputStream/DataOutputStream可以确保我们读取 阅读全文
posted @ 2017-01-24 19:42 hellozay 阅读(362) 评论(0) 推荐(0) 编辑
摘要: java.io.File file可能是一个文件或者文件夹。 获取目录列表(全部/过滤) 文件基本信息 / 文件创建和删除 / 文件的类型判断 阅读全文
posted @ 2017-01-24 17:54 hellozay 阅读(450) 评论(0) 推荐(0) 编辑