问题描述 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数.   首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号:假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数. 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响. 注意:…
一.题目 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 二.思路 详见代码. 三.代码 public class Solution { public static int StrToInt(String str) { //初始条件判断 if (str.equals("") || str.length() == 0) return 0; char[] a = str.toCharArray(); int fuhao = 0…
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. 这里尤其需要注意2点:1.所有组合不能重复,比如输入"aa",  那么输出的结果应当是“aa” : 2. 输出结果按字典序排序 如果用<剑指offer>上的方法,显然这两点都不能满足,比如输入"ab…
面试题 49. 丑数 题目描述 题目:把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 设计一个算法,找出只含素因子2,3,5 的第 n 小的数.符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ... 解答过程 样例 如果n = 9, 返回 10. 挑战 要求时间复杂度为O(nlogn)或者O(n) Java 实现 public clas…
题目: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 思路: 考虑+.-.空格.非数字字符,以及溢出问题 代码: #include <iostream> using namespace std; enum Status {kValid=0,kInvalid}; int g_nStatus=kInvalid; long long StrToIntCore(const char* str,bool minus){ long long num=0; int flag=minus?…
问题描述 我们把只包含因子 2.3 和 5 的数称作丑数(Ugly Number).求按从小到大的顺序的第 n 个丑数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数. 说明:   1 是丑数. n 不超过1690. 代码 class Solution { public: int nthUglyNumber(int n) { vector<int> ind(3,0),uglynum(n,1); int tm…
题目: 输入一个字符串,打印出该字符串中字符的所有排列. 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 思路: 把一个字符串看成两部分组成:第一部分为第一个字符,第二部分为后面的所有字符. 求整个字符串的排列,可以看出两步:首先求所有可能出现在第一个位置的字符,即把第一个字符和后面的所有字符交换:然后固定第一个字符,求后面所有字符的排序.此时仍把后面的字符看成两部分,第一个字符和后面的字符,然后重复上述步骤.(递归) 在后…
题目: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. 思路: 这个不是书上的思路:每次放一个字母在cur位置,cur从0开始.放哪个字母呢?因为输入str是升序的,所以顺序地取str元素:考虑到重复的问题,每次统计结果串resstr中和str中元素出现的次数,只有当前者的次数小于后者的次…
题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0. 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 +2147483647 1a33 输出 2147483647 0 题目地址 https://www.nowcoder.com/practice/12…
题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0  [思路]考虑所有特殊情况 1.数字前面有空格,如s="    123456",空格需舍弃.2.数字前出现了不必要或多于的字符导致数字认证错误,输出0.如s="   b1234",s="  ++1233", s=" +-1121".3.数字中出现了不必要的字符,返回字符前的数字.如s="   12…