leetcode刷题总结一
大四狗找工作,要刷题了,leetcode上面题目比较适合面试算法类题目,也不纯粹为了蒙题,锻炼一下面试类型的思维
有N个数,其中只有一个数出现了一次,其他都是两次,找出那个数
把所有数求一下异或
求树的最大深度
递归遍历一遍
给两个树的根节点,看两棵树是否相同
两棵树同时遍历一遍
输出这个数倒过来的数
注意负数情况,模拟一下即可
Best Time to Buy and Sell Stock II:
模拟买东西卖东西赚钱
模拟即可
给定N个节点,问有多少种不同的二叉树
卡特兰数经典案例,C(2n,n) / (n+1)
判断一个链表是否含有环
从head出发,一个一次一步,一个一次两步,若相交则有环,否则走到头就结束说明没有
Binary Tree Inorder Traversal:
中序遍历
Binary Tree Preorder Traversal:
前序遍历
Populating Next Right Pointers in Each Node:
把每层的节点按从左到右顺序链接起来,最后一个节点next指向null
void connect(TreeLinkNode *root) {
if (root == NULL) return;
connect(root->left);
connect(root->right);
TreeLinkNode *l = root->left;
TreeLinkNode *r = root->right;
while (l) {
l->next = r;
l = l->right;
r = r->left;
}
}
Remove Duplicates from Sorted List:
删除相同数值的节点链表,已排好序
扫一遍,跟前一个相同就删了那个节点
给出target,求target应该插入的array的index
二分即可
经典的fbi数列
single numberI加强版,one,two,three分别代表出现的次数
int singleNumber(int A[], int n) {
int one , two , three;
one = two = three = ;
for (int i = ;i < n;i ++) {
two |= one&A[i];
one ^= A[i];
three = one & two;
one &= ~three;
two &= ~three;
}
return one;
}
经典动态规划,求最长连续序列和
去掉array中的element元素
不用额外资源,跟尾资源swap
合并两个有序链表
Convert Sorted Array to Binary Search Tree:
Remove Duplicates from Sorted Array:
Best Time to Buy and Sell Stock:
Remove Nth Node From End of List:
Best Time to Buy and Sell Stock III:
Evaluate Reverse Polish Notation:
leetcode刷题总结一的更多相关文章
- LeetCode刷题专栏第一篇--思维导图&时间安排
昨天是元宵节,过完元宵节相当于这个年正式过完了.不知道大家有没有投入继续投入紧张的学习工作中.年前我想开一个Leetcode刷题专栏,于是发了一个投票想了解大家的需求征集意见.投票于2019年2月1日 ...
- leetcode 刷题进展
最近没发什么博客了 凑个数 我的leetcode刷题进展 https://gitee.com/def/leetcode_practice 个人以为 刷题在透不在多 前200的吃透了 足以应付非算法岗 ...
- LeetCode刷题指南(字符串)
作者:CYC2018 文章链接:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode+%E9%A2%98%E8%A7% ...
- leetcode刷题记录--js
leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...
- LeetCode刷题总结之双指针法
Leetcode刷题总结 目前已经刷了50道题,从零开始刷题学到了很多精妙的解法和深刻的思想,因此想按方法对写过的题做一个总结 双指针法 双指针法有时也叫快慢指针,在数组里是用两个整型值代表下标,在链 ...
- Leetcode刷题记录(python3)
Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...
- LeetCode刷题总结-数组篇(上)
数组是算法中最常用的一种数据结构,也是面试中最常考的考点.在LeetCode题库中,标记为数组类型的习题到目前为止,已累计到了202题.然而,这202道习题并不是每道题只标记为数组一个考点,大部分习题 ...
- LeetCode刷题总结-数组篇(中)
本文接着上一篇文章<LeetCode刷题总结-数组篇(上)>,继续讲第二个常考问题:矩阵问题. 矩阵也可以称为二维数组.在LeetCode相关习题中,作者总结发现主要考点有:矩阵元素的遍历 ...
- LeetCode刷题总结-数组篇(下)
本期讲O(n)类型问题,共14题.3道简单题,9道中等题,2道困难题.数组篇共归纳总结了50题,本篇是数组篇的最后一篇.其他三个篇章可参考: LeetCode刷题总结-数组篇(上),子数组问题(共17 ...
- LeetCode刷题总结-树篇(下)
本文讲解有关树的习题中子树问题和新概念定义问题,也是有关树习题的最后一篇总结.前两篇请参考: LeetCode刷题总结-树篇(上) LeetCode刷题总结-树篇(中) 本文共收录9道题,7道中等题, ...
随机推荐
- dwz ie10一直提示数据加载中
dwz js资源jquery.validate.js 搜索 this.attr('novalidate', 'novalidate'); 在33行左右 用if (typeof (Worker) !== ...
- java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener ----good
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/event/GenericApplicationListe ...
- git 使用(二)
之前写过一篇git使用(一),那是入门篇,现在的(二)可以说是进阶篇吧,主要讲一些使用过程的注意事件及相关问题的解决办法. 一.push和fetch还需要输入用户名和密码? 解决办法:看看公玥是否添加 ...
- 一些practice和总结(转载)
转自 http://boundary.cc/2013/05/java-app-server-develop/ by JOKER on 2013/05/05 最近状态不是很好,负能量堆到积爆表,静下心来 ...
- flex 实时更新的一些方法总结
诚为大家所知,Flash之所以优秀,就是它可以带来良好的用户体验和交互特性.既然涉及到交互性,开发人员在开发过程中必然会遇到实时更新的问题,那么,当后台数据发现变化的时候,如何让Flash端实时刷新显 ...
- 导出到Excel并且取消默认的科学计算法
导出Excel的代码很多,其中这种最简单: protected void btnDCAll_Click(object sender, EventArgs e) { ...
- core--主线程
windows的线程是windows可以分配给cpu的最小单元,对window应用程序的管理,最小的管理单位就是线程.那什么是线程?线程其实什么都不是,只是一个概念,没有实体,又看不见.这个概念的定义 ...
- POJ 2236 (简单并查集) Wireless Network
题意: 有n个电脑坏掉了,分别给出他们的坐标 有两种操作,可以O x表示修好第x台电脑,可以 S x y表示x y是否连通 两台电脑的距离不超过d便可连通,两台电脑是连通的可以直接连通也可以间接通过第 ...
- codeforces 430 A Points and Segments (easy)
题意:给出n个点,m个区间,需要给这些点涂上蓝色或者红色,使得每个区间里面的点的红色的点的个数与蓝色的点的个数的差值小于1 唉,题目的标题就标注了一个easy= = 最开始做的时候对点还有区间都排序了 ...
- C实现类封装、继承、多态
1. 概述 C语言是一种面向过程的程序设计语言,而C++是在C语言基础上衍生来了的面向对象的语言,实际上,很多C++实现的底层是用C语言实现的,如在Visual C++中的Interface其实就是 ...