LeetCode Javascript实现 100. Same Tree 171. Excel Sheet Column Number
100. Same Tree
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} p
* @param {TreeNode} q
* @return {boolean}
*/
var isSameTree = function(p, q) {
if(p===null&&q===null){
return true;
}
if(p===null&&q!==null){
return false;
}
if(q===null&&p!==null){
return false;
}
if(p.val!==q.val){
return false;
}
if(isSameTree(p.left,q.left)&& isSameTree(p.right,q.right)){
return true;
}
else{
return false;
} };
判断两个二叉树是不是相同,我的思路就是各种情况列出来,出错就false,然后false就会一直上浮到最上面,最后返回出正确的boolean值。
Your runtime beats 74.85% of javascriptsubmissions
171. Excel Sheet Column Number
/**
* @param {string} s
* @return {number}
*/
var titleToNumber = function(s) {
var sl = s.length;
var sc,result=0,i=0;
while(sl!==0){
sc = s.charAt(sl-1);
result = (sc.charCodeAt()-64)*Math.pow(26,i)+result;
sl--;
i++;
}
return result;
};
这题主要用到函数charAt();charCodeAt();Math.pow(x,y)相当于转换成26进制的运算,字母和数字之间的转换用ASCII码完成。
Your runtime beats 22.00% of javascriptsubmissions.不知为何我的方法总是如此辣鸡- -。有机会第二次做的时候再追求效率吧
242. Valid Anagram
这题我的方法是,代码超时,很不幸
//超时代码
var isAnagram = function(s, t) {
s = s.split("");
t = t.split("");
var bb = true;
if(s==""&&t==""){
return true;
}
if(s.length!=t.length){
return false;
}
var sl = s.length;
for(i=0;i<=sl-1;i++){
var sin = s.indexOf(t[i]);
if(sin!=-1){
delete s[sin];
// s.splice(sin,1);
// t.splice(0,1);
}
else{
bb=false;
}
}
return bb; };
于是我去搜寻正确的解法,找到以下两个
//简单易懂又很厉害的方法
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isAnagram = function(s, t) {
if(s.length !== t.length){
return false;
}
var s1 = s.split("");
var t1 = t.split("");
s1.sort();
t1.sort();
var ss = s1.join("");
var tt = t1.join("");
if(ss !== tt){
return false;
}
return true;
};
下面是哈希表方法,散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
算是让我感受到了数据结构的力量!
//哈希表什么方法,反正比我的厉害
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isAnagram = function(s, t) {
if(s.length !== t.length){
return false;
}
var i, dict = {};
for(i = 0; i < s.length; i++){
if(!dict[s[i]]){
dict[s[i]] = 1;
}else{
dict[s[i]]++;
}
}
for(i = 0; i < t.length; i++){
if(!dict[t[i]] || dict[t[i]] === 0){
return false;
}else{
dict[t[i]]--;
}
}
return true;
};
好桑心啊,感觉自己笨笨的- -。不早了要睡了。梦里休息休息吧!
LeetCode Javascript实现 100. Same Tree 171. Excel Sheet Column Number的更多相关文章
- leetcode 168. Excel Sheet Column Title 171 Excel Sheet Column Number
题目 //像10进制一样进行 转换 只是要从0开始记录 class Solution { public: string convertToTitle(int n) { char a; string ...
- 171. Excel Sheet Column Number(C++)
171. Excel Sheet Column Number Related to question Excel Sheet Column Title Given a column title as ...
- LeetCode 171. Excel Sheet Column Number (Excel 表格列数字)
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
- [LeetCode] 171. Excel Sheet Column Number 求Excel表列序号
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
- ✡ leetcode 171. Excel Sheet Column Number 字母转换为数字 --------- java
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
- Java for LeetCode 171 Excel Sheet Column Number
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
- 【LeetCode】171. Excel Sheet Column Number
题目: Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, r ...
- LeetCode: 171 Excel Sheet Column Number(easy)
题目: Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, r ...
- 171. Excel Sheet Column Number (Math)
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
随机推荐
- "C#":MySql批量数量导入
现在对数据库(以MySql为例)的操作大多会封装成一个类,如下例所示: namespace TESTDATABASE { public enum DBStatusCode { ALL_OK, MySq ...
- 菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章
菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章 cheungmine, 2014-10-26 在上一章中,我们准备好了计算机和软件.本章开始部署hadoop 高可用集群. 2 部署 ...
- 不要在#include中使用".."
按照Google C++风格,不应该在#include中使用点号和双点号. 例如:project/scr/base/logging.h 应该这样包含: #include "base/logg ...
- Android 图片加载库Glide 实战(二),占位符,缓存,转换自签名高级实战
http://blog.csdn.net/sk719887916/article/details/40073747 请尊重原创 : skay <Android 图片加载库Glide 实战(一), ...
- Windows核心编程读书笔记1
今天特别困啊,这是为什么?!!刚刚把第一章看了一下,困到不行,所以写blog清醒一下. 第一章标题是“错误处理”,看了之后吓了一跳,难道第一章就讲这么高大上的东西?!不是不是,我现在的理解是,这章主要 ...
- LeetCode之旅(16)-Climbing Stairs
题目描述: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either ...
- 使用XStream是实现XML与Java对象的转换(1)--简介及入门示例
一.简单介绍 XStream是thoughtworks开发的开源框架,用于实现XML数据于Java对象.Json数据的转换.它不需要schema或其他的mapping文件就可以进行java对象和xml ...
- javaWeb安全漏洞修复总结
1 Web安全介绍1 2 SQL注入.盲注1 2.1 SQL注入.盲注概述 1 2.2 安全风险及原因 2 2.3 AppScan扫描建议 2 2.4 应用程序解决方案 4 3 会话标识未更新7 3. ...
- vfd with stm8
2018-01-14 22:50:26 之前写了pt6311的驱动,要做时钟考虑使用stm8做主控,于是乎将之前的驱动移植到stm8上. 顺带熟悉了stm8的操作2333. 上源码: #ifndef ...
- mac上php版本切换
目标:Mac 环境下完成 php 版本之间的切换 在本地开发中很多时候我们需要多个版本的 php 开发环境.在公司中习惯用自己电脑开发的伙伴们,常常因为公司线上环境被迫更换php版本.但有不想降低自己 ...