在这里对于自己C++学习过程中的问题及模糊知识点做记录,相当于一个错题本的功能。

1.(C++数组)C++中数组不能直接赋值或者比较大小。

int a[6] = { 1,2,3,4,5,6 };
int b[6] = { 1,2,3,4,5,6 };
return (a == b ? true : false);

该段代码输出为 false 。因为运算符会比较数组的开始内存地址,而不是数组的内容。需要逐个字符进行比较。

解法:使用 vector 代替 int a[26],便可以直接使用 == 比较 a,b大小。

2.(C++语言--循环) (力扣567

class Solution {
public:bool checkInclusion(string s1, string s2) {vector<int> a(26);for(int i = 0;i<s1.size();i++){a[s1[i]-'a']++;}int j = 0;int flag = 0;while(j < (s2.size()-s1.size()) && flag == 0){flag = 0;vector<int> b(26);for(int k = 0;k<s1.size();k++){b[s2[j+k]-'a'] ++;}if(a == b){flag = 1;}j ++;}return flag;}
};

(1)在while的flag前多加了int,导致检索成功后仍无法跳出循环。

(2)在多个循环嵌套时,使用while循环,当从某个范围中寻找东西时,找到时能够将 flag 一直传到最外层;若用 for 循环,则需要在每个循环中加上 if 条件,每层循环的 if 条件容易混淆。

3.(C++栈和队列--堆)(力扣347)优先级队列的使用不熟练。

4.(C++递归)(力扣101)判断对称二叉树。

class Solution {
public:bool compare(TreeNode* node1, TreeNode* node2){if (node1 == NULL && node2 != NULL) return false;else if (node1 != NULL && node2 == NULL) return false;else if (node1 == NULL && node2 == NULL) return true;// 排除了空节点,再排除数值不相同的情况else if (node1->val != node2->val) return false;bool inside = compare(node1->right, node2->left);bool outside = compare(node1->left, node2->right);return inside && outside;}bool isSymmetric(TreeNode* root) {if(root == NULL){return true;}return compare(root->left, root->right);}
};

若把递归中的对于NULL的判断去掉,将会在测试用例中报错。在编码时,使用连续if else来防止NULL导致程序无法正常运行。

C++学习力扣刷题错题本相关推荐

  1. 力扣刷题学习SQL篇——1-8 查询(按日期分组销售产品——利用聚合函数GROUP_CONCAT)

    力扣刷题学习SQL篇--1-8 查询(按日期分组销售产品--利用聚合函数GROUP_CONCAT) 1.题目 2.解法 3.group_concat() 1.题目 题目链接:https://leetc ...

  2. 教你创建电脑、手机同步的markdown云笔记--力扣刷题力荐!

    开篇先致歉 其他不谈,开篇必须先给各位读者道个歉,年后工作上比较忙,加上最近闲暇的时间都用来在力扣上刷算法题了,导致公众号断更有些严重啊.再加上年后将健身减重提上了日程,时间上就更显的捉襟见肘了. 不 ...

  3. 力扣刷题-前k个高频元素

    力扣刷题-前k个高频元素 题目: 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素.你可以按 任意顺序 返回答案. 示例 1: 输入: nums = [1,1,1,2 ...

  4. 力扣刷题记录-动态规划问题总结

    百度百科里对于动态规划问题是这样解释的: 在现实生活中,有一类活动的过程,由于它的特殊性,可将过程分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果.因此各个阶段 ...

  5. 力扣刷题——单链表系列——第一题:移除链表元素,从此链表初窥门径,神挡杀神~

    题目链接:力扣 力扣刷题------>单链表系列 第一种解法:在原链表上进行操作,小红日烧脑版 /*** Definition for singly-linked list.* public c ...

  6. 《剑指Offer》力扣刷题笔记(03-10)

    <剑指Offer>力扣刷题笔记(03-10) 最近确实有点闲,想在进组搬砖之前找点有意义的事干,于是,就开始刷<剑指Offer>.<程序员面试金典>等书上的题目,也 ...

  7. 力扣刷题之二叉树的层序遍历

                                                      Welcome to you, 每日一刷系列 二叉树的层序遍历 二叉树的层序遍历II 二叉树的右视图 ...

  8. 『力扣刷题』5275_找出井字棋的获胜者 解题代码

    LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5275_找出井字棋的获胜者 * 5275. 找出井字棋的获胜者 显示英文描述* 用户通过次数0* 用户尝试次数0* ...

  9. 『力扣刷题』5276_不浪费原料的汉堡制作方案 解题代码

    LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5276_不浪费原料的汉堡制作方案 * 5276. 不浪费原料的汉堡制作方案 显示英文描述* 用户通过次数212* 用 ...

最新文章

  1. TCP端口状态说明ESTABLISHED、TIME_WAIT、 CLOSE_WAIT
  2. Ubuntu下GTK的安装
  3. SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)
  4. 二分答案——H指数(Leetcode 274)
  5. alphac测试和bata测试区别_绝缘电阻测试仪和接地电阻测试仪的测试方式区别
  6. 关于php使用fputcsv进行大数据的导出
  7. redhat5下安装informix
  8. Quartus ii仿真界面闪退
  9. 黑群晖数据迁移白群晖(DS 920+)
  10. 安国AU6985+海力士 H27UBG8T2A量产
  11. php自动播放mp3,html5实现背景音乐的自动播放
  12. xp 计算机配置,xp怎么查看电脑配置
  13. Linux面试题史上最全总结
  14. 【原】移动web页面给用户发送邮件的方法 (邮件含文本、图片、链接)
  15. PHP对接苹果支付全流程
  16. 迪斯尼电影经典台词精选
  17. 基于c语言 自制编程语言,自制编程语言:基于C语言
  18. 我使用的安卓软件名单_我是亲民_新浪博客
  19. Simulink三相异步电机仿真
  20. 技术文章系列整理(持续更新)

热门文章

  1. 直观理解拉格朗日乘子法和Karush-Kuhn-Tucker(KKT)条件
  2. 3dmax软件怎么保存低版本的模型
  3. python期中考试试卷分析_期中考试试卷分析与反思
  4. 小米手机别人无法打入电话 找不到volte开关--完美解决
  5. 人在旅途——》张家界之旅:20180418
  6. 如何用coda虚拟环境分隔多个tensorflow版本
  7. python过滤unicode控制字符
  8. oracle删除table不进回收站,清除当前用户的回收站
  9. 学习MySQLl06《存储过程与事务》
  10. Android libphonenumber Demo 手机号码归属地