leetcode每日刷题计划-简单篇day10
跳题,不熟悉的留到周末再做。
保持冷静,不信画饼。
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的更多相关文章
- leetcode每日刷题计划-简单篇day5
刷题成习惯以后感觉挺好的 Num 27 移除元素 Remove Element 跟那个排序去掉相同的一样,len标记然后新的不重复的直接放到len class Solution { public: i ...
- leetcode每日刷题计划-简单篇day3
收到swe提前批面试hhh算是ep挂了的后续 努力刷题呀争取今年冲进去! Num 21 合并两个有序链表 Merge Two Sorted Lists 注意新开的链表用来输出结果的是ListNode ...
- leetcode每日刷题计划-简单篇day1
orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方, ...
- leetcode每日刷题计划-简单篇day12
Num 125 验证回文串 Valid Palindrome 非常有收货的一道题嘻嘻嘻,本来是考试期间划水挑的题,坑点有点多 第一个是注意对temp1和temp2中途更新的判断 第二个是字符串频繁的作 ...
- leetcode每日刷题计划-简单篇day9
Num 38 报数 Count and Say 题意读起来比较费劲..看懂了题还是不难的 注意最后的长度是sz的长度,开始写错写的len 在下次计算的时候len要更新下 说明 直接让char和int进 ...
- leetcode每日刷题计划-简单篇day6
突发奇想&胡思乱想的一天 银行家算法证明错了并挂在黑板上的可怜希希 Num 53 最大子序和 Maximum Subarray O(n)的算法实现了,分治法有空补 class Solution ...
- leetcode每日刷题计划-简单篇day2
今天数模比赛爆肝&操作系统大作业 脖子疼orz先把题过了保证flag不倒..个别细节回头看吧 Num 13 罗马数字转整数 Roman to Integer 一遍提交过,开始编译出了点问题 具 ...
- leetcode每日刷题计划-简单篇day13
Num 169 先码,回头再说,摩尔算法... tle了 class Solution { public: int majorityElement(vector<int>& num ...
- leetcode每日刷题计划-简单篇day11
Num 121 买卖股票的最佳时期 Best Time to Buy and Sell Stock class Solution { public: int maxProfit(vector<i ...
随机推荐
- STM32的USART应用问题(不定时添加)
ST应用的问题:串口一直在用.不检测会导致一直中断要规避. 规避范例: void USART1_IRQHandler(void) //串口1中断服务程序 { u8 Res; u8 DataCount= ...
- pycharm汉化补丁
将压缩包内容复制到 x:\xxx\JetBrains\PyCharm Community Edition 2019.1\lib 目录下 链接:https://pan.baidu.com/s/1TLEP ...
- Linux安装中文字体_宋体
E&T: CentOS_7.4 64位; mswfonts.tar.xz; Xftp5; Xshell5; 最近在完成合同电子签署时,合同的中文参数在服务器出现中文乱码问题, 编码一致且正确, ...
- Java 关键字详解(持续更新中)
abstract: 表明类或者成员方法具有抽象熟悉. 修饰类,抽象类: 抽象类不能被实例化: 抽象类中可以有属性.方法.构造,都是用来给子类继承的: ...
- 关于pycharm中导入自己写的模块没有智能提示的解决办法
在pycharm界面中右击py文件所在的文件夹,选择Make Directory as文件,选择其中一个即可
- C# 关于 DataTable 的一些使用
1.抽取其中的distinct数据 DataTable dt; DataView dv = dt.DefaultView; //ToTable()的第一个参数为是否DISTINCT DataTable ...
- Python map,filter,reduce函数
# -*- coding:utf-8 -*- #定义一个自己的map函数list_list = [1,2,4,8,16] def my_map(func,iterable): my_list = [] ...
- linux系统如何发送邮件
安装应用yum install mailx sendmail -y接着修改/etc/mail.rc文件,添加一下参数#末尾添加 zabbix 发送告警信息邮箱(按照自己的情况修改)set from= ...
- Java技术之如何保证同一资源被多个线程并发访问时的完整性?
常用的同步方法是采用信号或加锁机制,保证资源在任意时刻至多被一个线程访问.Java语言在多线程编程上实现了完全对象化,提供了对同步机制的良好支持. 在Java中一共有四种方法支持同步,其中前三个是同步 ...
- SQL列子 转载