摘要: 26.左旋转字符串题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef 左旋转2 位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n 的字符串操作的复杂度为O(n),辅助内存为O(1)思路:先反转整个字符串 -> fedcba 在分别反... 阅读全文
posted @ 2015-10-26 14:07 蟹粉小笼包 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 第25 题:写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr 所指内存。例如:"abcd12345ed125ss12... 阅读全文
posted @ 2015-10-26 11:21 蟹粉小笼包 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 第24 题:链表操作,单链表就地逆置思路: 本来想拿两个指针分别指向当前节点和上一节点,在向后移动指针的过程中将当前节点的next指针逆向为上一节点,但这样就无法继续向后移动当前节点了。。。。转换一下思路,对于n各节点,逆序的操作可以分解为把后面n-1个节点逆序,然后再把第一个节点放在已经逆序好的n... 阅读全文
posted @ 2015-10-26 10:54 蟹粉小笼包 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 第21 题编程求解:输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来思路:典型的01背包问题,按照背包问题的思路,可以将问题:f(n,m),分解为f(n-1,m)和[f(n-1,m-n),n]两个子问题就是N个数里面和等于M的元素... 阅读全文
posted @ 2015-10-25 15:13 蟹粉小笼包 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 第20 题:题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345思路:atoi 主要考虑的是对输入的校验和边界处理,以及处理正负符号等 1 package com.rui.microsoft; 2 3 public class Test20_Str... 阅读全文
posted @ 2015-10-25 10:49 蟹粉小笼包 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 第18 题:题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始,每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。求出在这个圆圈中剩下的最后一个数字约瑟夫环问题,第一思路是拿双向链表解决... 阅读全文
posted @ 2015-10-24 23:32 蟹粉小笼包 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 第17 题:题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b思路:要找出只出现一次的字符,很明显需要统计所有字符出现的次数,然后找出次数为一的那一个,统计次数最先想到的是hashTable,但此题有更好的办法,因为每个char其实对应一个唯一的ASCII值,所以可以... 阅读全文
posted @ 2015-10-24 08:44 蟹粉小笼包 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 第16 题:题目(微软):输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入8/ \6 10/ \ / \5 7 9 11输出8 6 10 5 7 9 11思路:遇到这种按层执行或者按次序执行的动作,一般会联想到队列 1 package com.rui.micro... 阅读全文
posted @ 2015-10-23 18:30 蟹粉小笼包 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 第15 题:题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入:8/ \6 10/\ /\5 7 9 11输出:8/ \10 6/\ /\11 9 7 5思路:1.递归: 根节点的镜像必然由其左子树... 阅读全文
posted @ 2015-10-23 18:09 蟹粉小笼包 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 第14 题:题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15 和数字15。由于4+11=15,因此输出4 和11思路:因为是已排好... 阅读全文
posted @ 2015-10-23 17:12 蟹粉小笼包 阅读(841) 评论(0) 推荐(0) 编辑