跳题,不熟悉的留到周末再做。

保持冷静,不信画饼。

num 100 相同的树 Same Tree

做法可能不是特别简洁,注意一下。最后判断完子树以后,要确定根的数值是一样的

然后在isleaf的判定先要确定NULL

/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
bool isleaf(TreeNode*p)
{
if (p==NULL) return false;
if(p->left==NULL && p->right==NULL)
return true;
else
return false;
}
bool isSameTree(TreeNode* p, TreeNode* q) {
if(isleaf(p) && isleaf(q))
{
if(p->val==q->val)
return true;
else
return false;
}
else
{
if(isleaf(p) && !isleaf(q))
return false;
if(!isleaf(p) && isleaf(q))
return false;
if(p==NULL && q!=NULL)
return false;
if(p!=NULL && q==NULL)
return false;
if(p==NULL && q==NULL)
return true;
if((p->val==q->val) && isSameTree(p->left,q->left) && isSameTree(p->right,q->right))
return true;
else return false;
}
return false;
}
};

num 104 二叉树的最大深度 Maximum Depth of Binary Tree

注意判断root==NULL

/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int maxDepth(TreeNode* root) {
if(root==NULL)
return ;
if(root->left==NULL && root->right==NULL)
return ;
if(root->left==NULL)
return(maxDepth(root->right)+);
if(root->right==NULL)
return (maxDepth(root->left)+);
else
return (max(maxDepth(root->left),maxDepth(root->right))+);
}
};

leetcode每日刷题计划-简单篇day10的更多相关文章

  1. leetcode每日刷题计划-简单篇day5

    刷题成习惯以后感觉挺好的 Num 27 移除元素 Remove Element 跟那个排序去掉相同的一样,len标记然后新的不重复的直接放到len class Solution { public: i ...

  2. leetcode每日刷题计划-简单篇day3

    收到swe提前批面试hhh算是ep挂了的后续 努力刷题呀争取今年冲进去! Num 21 合并两个有序链表 Merge Two Sorted Lists 注意新开的链表用来输出结果的是ListNode ...

  3. leetcode每日刷题计划-简单篇day1

    orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方, ...

  4. leetcode每日刷题计划-简单篇day12

    Num 125 验证回文串 Valid Palindrome 非常有收货的一道题嘻嘻嘻,本来是考试期间划水挑的题,坑点有点多 第一个是注意对temp1和temp2中途更新的判断 第二个是字符串频繁的作 ...

  5. leetcode每日刷题计划-简单篇day9

    Num 38 报数 Count and Say 题意读起来比较费劲..看懂了题还是不难的 注意最后的长度是sz的长度,开始写错写的len 在下次计算的时候len要更新下 说明 直接让char和int进 ...

  6. leetcode每日刷题计划-简单篇day6

    突发奇想&胡思乱想的一天 银行家算法证明错了并挂在黑板上的可怜希希 Num 53 最大子序和 Maximum Subarray O(n)的算法实现了,分治法有空补 class Solution ...

  7. leetcode每日刷题计划-简单篇day2

    今天数模比赛爆肝&操作系统大作业 脖子疼orz先把题过了保证flag不倒..个别细节回头看吧 Num 13 罗马数字转整数 Roman to Integer 一遍提交过,开始编译出了点问题 具 ...

  8. leetcode每日刷题计划-简单篇day13

    Num 169 先码,回头再说,摩尔算法... tle了 class Solution { public: int majorityElement(vector<int>& num ...

  9. leetcode每日刷题计划-简单篇day11

    Num 121 买卖股票的最佳时期 Best Time to Buy and Sell Stock class Solution { public: int maxProfit(vector<i ...

随机推荐

  1. 17python-BS编程

    1.前端概述(1)上网:就是下载网页(2)浏览器:就是一个解释器2.BS模式的了解(1)BS模式:-----b:browser(浏览器)   s:server(服务端)(2)BS模式运行过程:brow ...

  2. java项目---用java重命名文件(1星)

    package Demo; import java.io.File; public class FileRename { public static boolean Rename(String old ...

  3. C++——list中erase和remove的区别

    1.之前在做相关的操作的时候,涉及到清除list相关的元素,因此会用到erase和remove,那么二者有什么区别呢? 从官方文档中,我们可以获取以下信息 erase : 说明:Removes fro ...

  4. Python(四) —— 函数

    什么是函数? 把一堆代码放一起就叫函数 函数用来干什么? 不复写代码,提高代码重复利用程度 怎么定义以及调用函数: def fun1(): #定义函数 print('这是一个函数') #函数体,里面什 ...

  5. JWT(JSON Web Token) 【转载】

    JWT(JSON Web Token) 什么叫JWTJSON Web Token(JWT)是目前最流行的跨域身份验证解决方案. 一般来说,互联网用户认证是这样子的. 1.用户向服务器发送用户名和密码. ...

  6. GanttProject 如何显示今天和项目结束

    GanttProject 如何显示今天和项目结束 GanttProject 在甘特图中可以很直观的看出项目开始和结束. 同时也可以看到今天的. 把今天的时间线打开,默认是关闭.

  7. Vue Affix组件

    在vue的项目中经常用到固钉,但是 element-ui 上并没有提供这样的组件可供使用,ant-design-vue 有提供,总不能为了这一个组件再去引入一个组件库吧 下面是一个封装好的 affix ...

  8. DNS子域授权

    DNS子域授权 当一个域很大时,而且还有上,下层关系,如果所有的记录变更都由某一台服务器来管理的话,那将会是什么样子?就好比一个公司的总经理直接管理公司1000个人的所有事项,恐怕会被累死.所以会在总 ...

  9. 【Leecode】两数相加

    学习了链表结构,链表中元素的访问,对象指针的初始化与赋值,链表的创建(多个节点链接起来),进位计算的表达. 100ms /** * Definition for singly-linked list. ...

  10. JS将图片转为base64

    var getDataFromImg = function(img) { var canvas = document.createElement('canvas'); var context = ca ...