字符串转换为整型
//不用atoi,实现字符串转数字 //考虑边界:字符串NULL,正负号,int 型最大0x7fffffff,负数最小0x80000000//区分“0”的输出结果和无效字符串的输出 #include <iostream> using namespace std;
//不用atoi,实现字符串转数字 //考虑边界:字符串NULL,正负号,int 型最大0x7fffffff,负数最小0x80000000//区分“0”的输出结果和无效字符串的输出 #include <iostream> using namespace std;
//���ó˳���for�� while��if else��switch caseʵ��1+2+����+n //��Ȼ����ʽ�Ͳ������� #include <iostream> using namespace std; //***********
//不用四则运算实现两数相加 //分成三步:首先两数相加不进位;然后对应位上的进位,最后把前两部的结果相加 #include <iostream> using namespace std; int GetSum(int a,int b){ int sum=
//从0~n-1这n个数字构成环形,从0开始每次删除第m个数字,求最后一个剩下的数字 //要么借助环形链表数据结构//要么通过数学建模找到规律 #include <iostream> #include<list> using namespace std;
//从扑克牌中抽出五张,判断是不是顺子,A用1表示;JQK用11,12,13表示;大小王看成任意数字//首先排序数组,然后统计0的个数和数组中间隔数,如果0的个数>=间隔,返回true。//还有需要注意,如果数组中有两个数字相同,那么不可能是顺子了。 #include &
//把n个骰子扔地上,所有骰子朝上一面的点数之和为 S。输入n,打印出S中所有可能出现的值的概率。//动态规划.找到最优子结构。采用备忘录的方法避免重复计算。//最优子结构:f(n,s)表示n个骰子点数和为S的种类,N表示骰子个数,S表示N个骰子的点数和//F(n,s)=F(n-
//一个字符串。要求翻转单词顺序,但是单词内部字符顺序不变 #include <iostream> #include<string.h> using namespace std; //翻转一个单词 void Reverse(char* pBegin,cha
//数组已经排好序,假设升序。 //当给定和为S,返回数组中两个数使得他们和为s #include <iostream> using namespace std; //找到排序数组和为S的两个数 //void FindNumbersWithSum(int *da
//这样的数组:只有两个数字只出现一次,其他数字出现两次。输出只出现一次的数字//如果是只出现一次的数字有一个,那么异或整个数组元素,得到的结果恰好就是那个单独的元素//所以把原始数组分成两个子数组。每个子数组只包含一个只出现一次的数字。//先异或整个数组元素,得到不是0的结果,
//平衡二叉树的概念:左右子树的深度相差不超过1//判断一棵二叉树是不是平衡二叉树 #include <iostream> using namespace std; struct BinaryTreeNode{ int m_nValue; Binar