木木

keep going

两个链表相交的一系列问题【js实现】

题目: 在本题中,单链表可能有环也可能无环,给定两个单链表的头结点phead1 和phead2,这两个链表可能相交也可能不相交,请实现一个函数,如果两个链表相交,请返回相交的第一个节点,如果不相交,直接返回null 要求:如果链表1的长度为n,链表2的长度为m,时间复杂度请达到O(N + M...

2019-04-01 09:54:23

阅读数 15

评论数 0

常见的排序算法(冒泡,选择,快排,插入,希尔)

分类和性能 1、稳定排序和非稳定排序 简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。 比如:一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后为a1,a2,a4,a3,a5,则我们说这...

2019-03-14 11:35:05

阅读数 43

评论数 0

['1','2','3'].map(parseInt)

为啥子会是这样呢?是因为我没有理解: 1)map函数传递参数的定义,2)parseInt函数针对于radix这个参数的理解。 通常使用map函数的时候都会传入一个函数,这个函数一般只使用1-2个参数, let arr = ['1','2','3'].map(function(item){ /...

2019-03-13 18:55:09

阅读数 20

评论数 0

【js版】 剑指offer【16】二叉树的镜像

题目描述: 操作给定的二叉树,将其变换为源二叉树的镜像。 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / ...

2019-03-08 12:13:12

阅读数 30

评论数 0

【js版】 剑指offer【15】从上往下打印二叉树

题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 题目分析: 使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到队列中来 代码: function PrintFromTop...

2019-03-08 12:09:58

阅读数 19

评论数 0

【js版】 剑指offer【14】复杂链表的复制

题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 题目分析: 代码: function Clone...

2019-03-06 22:11:58

阅读数 36

评论数 0

【js版】 剑指offer【13】删除链表中重复的节点

题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处...

2019-03-06 16:54:44

阅读数 25

评论数 0

【js版】 剑指offer【12】两个链表的第一个公共节点

题目描述: 输入两个链表,找出它们的第一个公共结点,链表的定义如下: function ListNode(x){ this.val = x; this.next = null; } 题目分析: 从链表的定义可以看出,这两个链表是单向链表。如果两个单项链表有公共节点,那么这两个...

2019-03-06 15:09:12

阅读数 25

评论数 0

【js版】 剑指offer【11】合并两个排序的列表

题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 题目分析: 链表1的头结点的值小于链表2的头结点的值,因此链表1的头结点是合并后链表的头结点。 剩余的结点中,链表2的头结点的值小于链表1的头结点的值,因此链表2的头结点...

2019-03-06 10:06:36

阅读数 25

评论数 0

【js版】 剑指offer【10】输入一个链表,输出该链表中倒数第k个结点。

题目描述: 输入一个链表,反转链表后,输出新链表的表头。 题目分析: 两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。。 代码: ...

2019-03-05 18:54:19

阅读数 74

评论数 0

【js版】 剑指offer【9】翻转链表

题目描述: 输入一个链表,反转链表后,输出新链表的表头。 题目分析: 1->2->3->4->5,遍历链表,把1的next置为null,2的next置为1,以此类推,5的next置为4。得到反转链表...

2019-03-05 16:45:46

阅读数 11

评论数 0

数据结构的学习:使用js实现链表的操作

创建一个链表结构:                                    链表有以下几个特点: 可以动态扩展空间(在js中,数组也是这样的,但是有的语言中数组的长度是固定的,不能动态添加,如c语言) 需要一个头节点 需要知道下一个节点的地址   可以将链表中的每个节点看成...

2019-02-21 15:25:13

阅读数 39

评论数 0

Xshell使用教程及WinSCP使用教程

1、安装WinSCP 安装非常简单,和普通软件安装是一样的选择安装路径,其他默认就行 2、连接远程Linux主机,上传和下载文件 如下图所示,在打开的页面填写远程主机的IP,用户名和密码,点击保存,会在页面的左边出现一个站点,下次可直接双击该站点,就可以登录到远程主机上了。   上传和下载,...

2019-01-21 11:01:16

阅读数 122

评论数 0

客户端TortoiseSVN英文版的安装及使用方法

一、客户端TortoiseSVN的安装 运行TortoiseSVN程序,点击Next,下面的截图顺序即为安装步骤:  图1:  图2: 图3:   图4: 点击Finish按钮后会提示重启系统,其实不重启也没有关系。   二、客户端TortoiseSVN的使用方法 1、...

2019-01-21 10:38:25

阅读数 82

评论数 4

使用git stash命令保存和恢复进度

前几天在公司开发的时候,正在我的分支开发,有个bug需要切换到主分支,切换的时候git提醒需要git stash  巴拉巴拉,我就没管,随手打了个git stash  .结果切换回来的时候以前写的代码都没了  一下子慌了。。。。 后来在网上查了好多深入的了解了一下 git stash 敲了gi...

2018-12-13 10:14:34

阅读数 58

评论数 0

git 放弃本地修改,远程分支强制覆盖本地

git fetch --all    //只是下载代码到本地,不进行合并操作 git reset --hard origin/分支名如master    //把HEAD指向最新下载的版本 git pull //可以省略      

2018-12-13 10:06:04

阅读数 929

评论数 0

Git 多人协作开发的过程

Git可以完成两件事情: 1. 版本控制 2.多人协作开发 如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发。 如果有多个开发人员共同开发一个项目,如何进行协作的呢。 Git提供了一个非常好的解决方案 ---- 多人协作开发。 1.多人协作原理 典型的做法是,首先创建一...

2018-11-12 11:46:05

阅读数 87

评论数 0

AngularJs 学习第二篇 之过滤器

AngularJS 过滤器   uppercase 过滤器将字符串格式化为大写: <div ng-app = "myApp" ng-controller = "myCtrl"&amp...

2018-11-06 18:27:52

阅读数 45

评论数 0

AngularJS 学习第一篇 表达式 指令 模型及作用域

一,AngularJs 指令 AngularJS 通过被称为 指令 的新属性来扩展 HTML。 AngularJS 通过内置的指令来为应用添加功能。 AngularJS 允许你自定义指令。 ng-app 指令 ng-app 指令定义了 AngularJS 应用程序的 根元素。 ng-...

2018-11-06 16:31:27

阅读数 44

评论数 0

【js版】 剑指offer【8】斐波那契数列

题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 题目分析:  我们都知道斐波那契可以用递归,但是递归重复计算的部分太多了(虽然可以通过),但是这道题更应该用动态规划来做, 动态规划的特点是:最优子结构、无...

2018-10-25 11:35:11

阅读数 55

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭