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的更多相关文章

  1. leetcode 168. Excel Sheet Column Title 171 Excel Sheet Column Number

    题目 //像10进制一样进行 转换   只是要从0开始记录 class Solution { public: string convertToTitle(int n) { char a; string ...

  2. 171. Excel Sheet Column Number(C++)

    171. Excel Sheet Column Number Related to question Excel Sheet Column Title Given a column title as ...

  3. 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 ...

  4. [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 ...

  5. ✡ 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 ...

  6. 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 ...

  7. 【LeetCode】171. Excel Sheet Column Number

    题目: Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, r ...

  8. 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 ...

  9. 171. Excel Sheet Column Number (Math)

    Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...

随机推荐

  1. Android NFC技术(三)——初次开发Android NFC你须知道NdefMessage和NdefRecord

    Android NFC技术(三)--初次开发Android NFC你须知道NdefMessage和NdefRecord 这最近也是有好多天没写博客了,除了到处张罗着搬家之外,依旧还是许许多多的琐事阻碍 ...

  2. 带三方登录(qq,微信,微博)

    实现QQ.微信.新浪微博和百度第三方登录(Android Studio) 前言:  对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下关于 ...

  3. NOSQL schema创建原则

    (1)数据规模 Bigtable类数据库系统(HBase,Cassandra等)是为了解决海量数据规模的存储需要设计的.这里说的海量数据规模指的是单个表存储的数据量是在TB或者PB规模,单个表是由千亿 ...

  4. git对远程分支和tag的操作

    技术 Git查看.删除.重命名远程分支和tag 11/17/2012zrong7条评论69,235 次查看 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转 ...

  5. python JoinableQueue在生产者消费者项目中的简单应用

    class multiprocessing.JoinableQueue([maxsize]) JoinableQueue, a Queue subclass, is a queue which add ...

  6. ios中block访问外部变量的一些注意点

    Block类型是一个C级别的语法和运行机制.它与标准的C函数类似,不同之处在于,它除了有可执行代码以外,它还包含了与堆.栈内存绑定的变量.因此,Block对象包含着一组状态数据,这些数据在程序执行时用 ...

  7. MyBatis 框架之快速入门程序

    一.使用 IDEA 快速创建 Maven 项目 关于如何快速创建 Maven 项目,这个可以参考下面这篇文章: Maven 项目管理工具基础入门系列(一) 二.快速配置 MyBatis 依赖 jar ...

  8. Js 浅克隆详解

    浅克隆:不仅赋值,而且赋予了内存地址深度克隆:赋值,内存地址不同var a = [1,2,3]; var b = a; a = [4,5,6]; alert(b); //[1,2,3] 面试时被问到这 ...

  9. php添加日志文件

    记录一下. 有时候写测试代码的时候,不习惯直接在屏幕上输出反馈,那么可以配置日志文件,把需要输出的内容追加到日志文件里面,就很方便. Php自带日志系统,可以参考网上的博客配置. 我要说的是,如果你的 ...

  10. MVC-AOP思想-Filter 三种注册方式

    在ASP.NET MVC框架中,为我们提供了四种类型的Filter类型包括:IAuthorizationFilter.IActionFilter.IResultFilter.IExceptionFil ...