摘要:leetcode no.2 两数相加 两个逆序链表加和,只需要按位加,保留进位符,最后到两个空进位空结束 记得每次结束以后让当前链表位指向下一位,处理的和被处理的都是 要将结果头返回,所以要有一个专门的指针用来移位的 前面判断条件是两个链表都非空&& /** * Definition for sin
阅读全文
|
08 2020 档案
摘要:leetcode no.2 两数相加 两个逆序链表加和,只需要按位加,保留进位符,最后到两个空进位空结束 记得每次结束以后让当前链表位指向下一位,处理的和被处理的都是 要将结果头返回,所以要有一个专门的指针用来移位的 前面判断条件是两个链表都非空&& /** * Definition for sin
阅读全文
摘要:如果前面scanf("%d %d",&n,&k),后面无论char c是c=getchar()还是scanf("%c",&c);在遇到 3 5换行这种情况的时候都会把换行符号都进去 但如果是char c[100]然后scanf("%s",c)这种时候会坚持到第一个非换行(也非空格)再读取。getch
阅读全文
摘要:leetcode no.2 两数相加 链表问题,题目没难度,问题都在链表 注意每一次都是要ListNode*temp=new Listnode(0)[如果不在leetcode里面的时候就自己写new node],这时候要用pre->next=temp,先指定temp是谁的next再给他new是无效的
阅读全文
摘要:快速幂 就是log减少计算,在指数是偶数的时候直接指数除2的结果相乘mod就行,奇数就底数乘以指数-1的结果 注意mod是%不要手残直接写mod 底数b有可能是0的,要特判 经典二分 #include<stdio.h> int getnum(int b,int p,int k) { if(b==0|
阅读全文
摘要:leetcode no.46 全排列 递归,到边界退出,题目本身无难度 限制了使用vector,注意二维的vector不可以访问下标来赋值,可以读取数据,比如vec[3][2]=1是不合理的 另外如果一维的给了长度再push_back到二维会报错,二维初始化给长度也报错,这个可能是leetcode导
阅读全文
摘要:leetcode no.33 搜索旋转排序数组 二分问题,注意边界和只有两个的考虑情况。 因为mid是起到向下取整的效果,因此要考虑好a[left]=a[mid]的情况 退出的条件为a[mid]==target或者l>r 对较大的部分的定义 4 5 6 7 1 2 3 此时4 5 6 7是较大的部分
阅读全文
摘要:PAT A1025 多个地方人同时考试,要给每个考点排序,还要总体排序 先在读取单个地点以后就排序然后给rank 注意排序时,如与前面分数同,那么rank同,如不同,就是当前下标,不是前一个的rank加一哦,前面也许有并列的 strcmp(a.id,b.id)会在a比b大的时候大于0,相等等于0,小
阅读全文
|