
数据结构愚见
PAT
xyx107
这个作者很懒,什么都没留下…
展开
-
JavaScript深浅拷贝问题
一. 什么是深浅拷贝因为Javascript的对象是引用类型,当将一个对象复制给一个变量时,会把对象的引用赋值,改变对象和变量其中一个的值,两个都会改变,这就是浅拷贝。let object = { name: 'aaa' }let object2 = objectobject2.name = 'AAA'console.log(object) // { name: 'AAA' }当我们不想让两个值都改变时就要用到深拷贝。深拷贝的实现方式:1.JSON.parse(JSON.stri原创 2020-08-06 11:21:20 · 251 阅读 · 0 评论 -
JavaScript new和原型
JavaScript构造函数一般首字母大写。通过new一个构造函数来实例化对象,new之后的this才可指向此实例,function Bird() { this.name = "Albert"; this.color = "blue"; this.numLegs = 2;}let blueBird = new Bird();可以扩展构造函数的参数,这样就不用每个属性单独赋值了,function Bird(name, color) { this.name = na原创 2020-08-06 14:45:40 · 349 阅读 · 0 评论 -
leetcode 349 两个数组的交集 (JS数组方法)
/** * 给定两个数组,编写一个函数来计算它们的交集。 * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */var intersection = function(nums1, nums2) { let arr = [] for(let i=0; i<nums1.length; i++) { // 不能用indexof,因为if判断的时候,indexof会返.原创 2020-10-06 19:40:52 · 215 阅读 · 1 评论 -
迭代和递归
迭代,可以理解为:用循环(for/while)去遍历操作递归,可以理解为:用同一个函数,不同参数去一层一层的操作。嵌套的函数的参数是本函数的某些结果。如:反转链表// 迭代 var reverseList = function(head) { let [pre, curr] = [null, head]; while(curr) { let temp = curr.next curr.next = pre原创 2020-09-25 08:59:45 · 168 阅读 · 0 评论