1. 问题描述 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、 由大到小按顺序放置64个金盘。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在 移动过程中三根杆上 ...
分类:
其他好文 时间:
2019-12-16 19:10:45
阅读次数:
93
```var deepCopy = function(obj) { if (typeof obj !== 'object') return obj var newObj = (Object.prototype.toString.call(obj) '[object Array]') ? [] : {... ...
分类:
其他好文 时间:
2019-12-08 15:31:37
阅读次数:
89
LeetCode_617 题目描述:合并二叉树 我的解法:两个节点均有值,则值相加;仅有一个值,则为该值;否则为空; 递归实现:返回值为节点,终止条件为二者节点均为空,递归条件为res -> left = mergeTree(t1->left, t2->left); res->right = mer ...
分类:
其他好文 时间:
2019-12-07 23:20:33
阅读次数:
114
题目: 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 来源: https://leetcode-cn.com/problems/path-sum-ii/ 法一: 自己的代码, 没有官方题解 思路: 递归实现,类似前序遍历 # 执行用时 :44 ms, 在所有 ...
分类:
其他好文 时间:
2019-12-07 16:32:33
阅读次数:
92
汉诺塔的非递归实现(栈) 美国学者找的规律:若是偶数,将a、b、c顺时针排列,否则a、c、b排列,然后反复做: (1)最小盘顺时针移动一个 (2)那两个柱子将最小的移动了,空的话直接移 借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助 ...
分类:
其他好文 时间:
2019-11-29 13:05:47
阅读次数:
104
斐波拉契数列总结 问题提出: 分别用递归和非递归代码计算斐波拉契数列;比较效率,分析效率差异可能产生的原因。 #include<stdio.h> #include<stdlib.h> //递归实现 int list(int n){ if(n==0||n==1) return 1; else if(n ...
分类:
其他好文 时间:
2019-11-25 09:25:44
阅读次数:
47
题目: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 斐波那契数列数学表达式: f(0) = 0, n=0 f(1) = 1, n=1 f(n) = f(n-1) + f(n-2), n>1 1、第一次用的递归实现,但是在OJ系统 ...
分类:
其他好文 时间:
2019-11-24 16:03:52
阅读次数:
53
这个好像是一个面试题 今天在一个聊天群看到了 所以感兴趣就试着写了一下 两个队列实现一个栈的原理 栈的特点: 先进后出 ,就像你往你的旅行箱路面放衣服一样,第一件放进去一定是最后一个取出来的 队列的特点: 先进先出 , 就像窗口排队打饭一样,先排队买的一定先打到饭,这里不计较插队! 只是比喻一下! ...
分类:
其他好文 时间:
2019-11-20 21:35:16
阅读次数:
81
浅拷贝和深拷贝的区别: 浅拷贝 : 只是将数据中所有的数据引用下来,依旧指向同一个存放地址,拷贝之后的数据修改之后,也会影响到原数据的中的对象数据 深拷贝 : 将数据中所有的数据拷贝下来,对拷贝之后的数据进行修改不会影响到原数据 实现思路: 将要拷贝的数据 obj 以参数的形式传参 声明一个变量 来 ...
分类:
其他好文 时间:
2019-11-18 10:13:35
阅读次数:
87