剑指offer
HiYvonne
发现Logic的美
展开
-
字符串的空格更换(也可进行任意字符更换)
字符串空格更换函数(将一个字符串中的空格替换成“**”)输入:一个字符串输出:空格替换成“**”的字符串,非空字符串部分维持不变例如:当字符串为We Are Happy.则经过替换之后的字符串为We**Are**Happy给出两种思路:1.直接利用java中的库函数,代码非常简洁String replaceSpace(StringBuffer str) {原创 2017-04-04 00:55:57 · 414 阅读 · 0 评论 -
判断数组是否为搜索二叉树的后序遍历
题目:给一个整数型数组,在其中没有重复值的情况下,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出false,否则输出true解法思路(递归):because 二叉树的后序遍历:左孩子—>右孩子—> 父结点step1:如果一个数组arr是搜索二叉树的后序遍历结果,那arr的最后一个元素就是树的根结点rootstep2:去掉最后一个元素a原创 2017-04-05 11:08:52 · 551 阅读 · 0 评论 -
在字符串里找第一个只出现一次的字符
题目描述(来自剑指offer):在一个字符串(1中找到第一个只出现一次的字符,并返回它的位置。如果字符串为空,返回-1思路:(利用java的linkedHasMap,保证了字符串的顺序)第一次遍历:使Map中 key保存字符,value保存字符出现的频数,第二次遍历:找到value为1的那个下标,将其返回例如:输入:str={"gogoup"}输出:4原创 2017-04-14 11:06:46 · 1033 阅读 · 0 评论 -
两种方式找出数组中只出现一次的数字
题目描述:(剑指offer)一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。例 输入:{1,9,7,1,2,2,3,4,5,4,5,6,7,8,8,9}输出:num1[0] =3num2[0]=6‘思路1:(借用HashSet的没有重复特性) step1、创建原创 2017-04-15 16:56:46 · 508 阅读 · 0 评论