51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#OFFER
剑指offer 14 调整数组顺序使奇数位于偶数前面
牛客网上的题目还有一个额外的要求,就是不改变数组原始的前后数据,这种可以用队列来存储,或者把前后比较变为相邻的元素比较。这个题目,主要要考察扩展性,用func函数就实现了扩展性。只需要改func函数,就可以实现负数移动到非负数前面,被3整除的数移到不能被3整除的数的前面classSolution{public:void...
代码星球
·
2020-10-13
剑指
offer
调整
数组
顺序
剑指offer8 旋转数组的最小数字
一种错误写法:classSolution{public:intminNumberInRotateArray(vector<int>rotateArray){intlength=rotateArray.size();if(length<=0)return0;if(rotateArray[0]==rota...
代码星球
·
2020-10-13
剑指
offer8
旋转
数组
最小
剑指offer44 扑克牌顺序
注意一个边界条件:必须是连续的,如果前后两个数是一样的也不满足条件classSolution{public:boolIsContinuous(vector<int>numbers){intlength=numbers.size();if(length!=5)returnfalse;sort(nu...
代码星球
·
2020-10-13
剑指
offer44
扑克牌
顺序
剑指offer47 不用加减乘除做加法
自己写的classSolution{public:intAdd(intnum1,intnum2){inta=num1^num2;intb=(num1&num2)<<1;while(b){intc=a^b;intd=(a&b)<<1;a=c;b=d;}returna;}};注意:做...
代码星球
·
2020-10-13
剑指
offer47
不用
加减乘除
加法
剑指offer42 左旋转字符串
自己想的一个新的写法,如果不排除length=0的情况,下面那个while是死循环classSolution{public:stringLeftRotateString(stringstr,intn){intlength=str.length();if(length==0)returnstr;while(length&...
代码星球
·
2020-10-13
剑指
offer42
旋转
字符串
剑指offer24 二叉搜索树的后序遍历序列
自己写的更简洁的代码classSolution{public:boolVerifySquenceOfBST(vector<int>sequence){intlength=sequence.size();if(length<=0)returnfalse;returnVerifyCore(sequence...
代码星球
·
2020-10-13
剑指
offer24
二叉
搜索
后序
剑指offer55 字符流中第一个不重复的字符(最典型错误)
典型并且基础的错误:classSolution{public://InsertonecharfromstringstreamvoidInsert(charch){if(result[ch]==-1)result[ch]=index;elseif(result[ch]>=0)result[ch]=-2;index+...
代码星球
·
2020-10-13
字符
剑指
offer55
流中
第一个
剑指offer64 数据流中的中位数
priority_queue优先级队列,他的模板声明带有三个参数,priority_queue<Type,Container,Functional>Type为数据类型,Container为保存数据的容器,Functional为元素比较方式。Container必须是用数组实现的容器,比如vector,dequ...
代码星球
·
2020-10-13
剑指
offer64
数据流
中的
中位数
剑指offer46 求1+2+...+n 以及& &&区别
参考代码:classSolution{public:intSum_Solution(intn){intresult=n;result&&(result+=Sum_Solution(n-1));returnresult;}};&:位与运算符&&:逻辑运算符&返回的是二进制位...
代码星球
·
2020-10-13
剑指
offer46
1+2+...+n
以及
区别
剑指offer22 栈的压入、弹出序列
写的一个代码,虽然正确通过了,但我觉得会报vector越界的错误classSolution{public:boolIsPopOrder(vector<int>pushV,vector<int>popV){intlength1=pushV.size();intlength2=popV.size()...
代码星球
·
2020-10-13
剑指
offer22
压入
弹出
序列
leetcode 179. Largest Number 、剑指offer33 把数组排成最小的数
这两个题几乎是一样的,只是leetcode的题是排成最大的数,剑指的题是排成最小的179.LargestNumbera.需要将数组的数转换成字符串,然后再根据大小排序,这里使用to_string函数将整数转换成字符串,比printf的方式简洁b.cmp函数必须用static才能使用c.这题需要排成最大的数,cmp函数如...
代码星球
·
2020-10-13
leetcode
179.
Largest
Number
剑指
剑指offer58 二叉树的下一个结点
自己写的classSolution{public:TreeLinkNode*GetNext(TreeLinkNode*pNode){if(pNode==NULL)returnNULL;if(pNode->right!=NULL){TreeLinkNode*origin=pNode->right;while(...
代码星球
·
2020-10-13
剑指
offer58
二叉
下一个
结点
剑指offer57 删除链表中重复的结点
错误代码:classSolution{public:ListNode*deleteDuplication(ListNode*pHead){if(pHead==NULL)returnNULL;if(pHead->next==NULL)returnpHead;ListNode*current=NULL;if(pHea...
代码星球
·
2020-10-13
剑指
offer57
删除
表中
重复
剑指offer18 树的子结构
另一种写法classSolution{public:boolHasSubtree(TreeNode*pRoot1,TreeNode*pRoot2){boolresult=false;if(pRoot1!=NULL&&pRoot2!=NULL){if(pRoot1->val==pRoot2->...
代码星球
·
2020-10-12
剑指
offer18
结构
leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal,剑指offer 6 重建二叉树
不用迭代器的代码classSolution{public:TreeNode*reConstructBinaryTree(vector<int>pre,vector<int>vin){TreeNode*root=NULL;intlength_pre=pre.size();intlength_vin...
代码星球
·
2020-10-12
leetcode
105.
Construct
Binary
Tree
首页
上一页
1
2
3
4
5
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他