Leetecode
sxy1993sxy2018
这个作者很懒,什么都没留下…
展开
-
[leetecode ] [C++]66.Plus One
题意:用数列模拟整数加法,注意9+1后的进位和999…9之类的数会增加一位 class Solution { public: vector<int> plusOne(vector<int>& digits) { vector<int> res; int flag=1; for(int i=dig...原创 2018-11-10 09:01:04 · 233 阅读 · 0 评论 -
[leetecode ] [C++]69.Sqrt()
乍一看是到挺简单的题,实际解题时遇到几个问题 采用遍历的方法会占用大量的时间,我采用了二分法逼近的方法 如果给的数很大,计算平方时会超出int的范围,计算时注意"*1.0",转换成double的计算,结果再转换成int class Solution { public: int mySqrt(int x) { if(x==1){ return 1; ...原创 2018-11-13 13:00:58 · 192 阅读 · 0 评论 -
[leetecode ] [C++]66.AddBinary
class Solution { public: string addBinary(string a, string b) { string tmp_str; char a_ch; char b_ch; char h_ch='0'; int maxsize=(a.size()>b.size())?a.size...原创 2018-11-12 09:46:48 · 210 阅读 · 0 评论 -
[leetecode ] [C++]83.Remove Duplicates from Sorted List
ListNode* deleteDuplicates(ListNode* head) { if(head==NULL) return head; else{ ListNode* newlist=new ListNode(head->val); ListNode* res_head=newlist; while(head!=NULL){ ...原创 2018-11-16 18:07:00 · 155 阅读 · 0 评论 -
[leetecode ] [C++]70.Climbing Stairs
只要想一下最后一步的处理,可以发现步数f(n)=f(n-1)+f(n-2),即斐波那契数列。不过我刚开始没想到,用数学的排列组合方式来计算结果,然后在n=35之后的时候结果出错了,查若干步,百思不得其解,错误代码也贴出望提点一下。 正确代码 int climbStairs(int n) { if(n==0){ return 1; ...原创 2018-11-16 18:19:18 · 283 阅读 · 0 评论 -
[leetecode ] [C++]100.Same Tree
使用迭代法 class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { if(p==NULL&&q==NULL){ return true; } else if(p==NULL&&q!=NULL){ retur...原创 2018-11-22 18:17:44 · 114 阅读 · 0 评论 -
[leetecode ] [C++]101.Symmetric Tree
应用了上一题的结果 将树进行对称操作,也需用迭代法 判断对称后的树与原树是否相等(上题的函数) class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { if(p==NULL&&q==NULL){ return true; } else...原创 2018-11-22 18:22:10 · 128 阅读 · 0 评论 -
[leetecode ] [C++]83.ove Duplicates from Sorted List
class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(head==NULL) return head; else{ ListNode* newlist=new ListNode(head->val); ListNode* res_head=ne...原创 2018-11-22 18:25:24 · 127 阅读 · 0 评论