node

LeetCode 426. Convert Binary Search Tree to Sorted Doubly Linked List

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-04 19:47:42
看起来很难,但是仔细想一下,实质就是二叉树的中序遍历的问题,中序遍历有递归和非递归(至少两种写法)。 递归: class Solution { public: Node *prev; //实质是指向最后一个元素的指针 Node* treeToDoublyList(Node* root) { if (root==NULL) return NULL; Node *dummy=new Node(0,NULL,NULL); prev = dummy; inorder(root); prev->right = dummy->right; dummy->right->left = prev; return dummy->right; } void inorder(Node *root){ if (root==NULL) return; inorder(root->left); prev->right = root; root->left = prev; prev = root; inorder(root->right); } }; 非递归 class Solution { public: Node *prev; //实质是指向最后一个元素的指针 Node* treeToDoublyList(Node* root) { if (root==NULL) return NULL; stack

import和require的区别

纵饮孤独 提交于 2020-04-04 17:51:26
一、前端开发环境 1、开发环境 windows 10操作系统; Node.js v10.16.0; webstorm 2019.3.4 x64; 2、前端技术栈 react v16.9 hooks + redux + react-router4; antd; marked hightlight.js; webpach打包优化; axios封装; 二、前端知识回顾 1、基础学习 如果没有接触过react的话,推荐先学习一下react基础知识: 1、react的入门教学视频入口: React 入门教程(开发文档) ; 2、官方教程入口: 入门教程: 认识 React ; 3、redux教程: 从零实现一个 redux ; 2、命名规范 html标签:小写字符开始; 自定义React组件:大写字符开始; 其它变量、方法:函数驼峰命名法; 文件夹、文件命名:全部小写,中间使用-分割,如data-assets; 三、npm使用 1、npm介绍 npm是随同Node.js一起安装的包管理工具,能解决Node.js代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从npm服务器下载别人编写的第三方包到本地使用; 允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用; 允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用; 由于新版的Node.js已经集成了npm

Mongoose 报错代码 (node:10256)(node:13604)(node:13604) DeprecationWarning: Mongoose: findOneAndUpdate() { useUnifiedTopology: true } { useNewUrlParser: true } to MongoClient.connect.

帅比萌擦擦* 提交于 2020-04-04 13:12:38
起因 在MongoDB Node.js驱动程序中有几个弃用,Mongoose提供了解决这些弃用警告的选项 原因是因为:findOneAndUpdate()内部会使用findAndModify驱动,驱动即将被废弃,所以弹出警告!附上官方解释:Mongoose v5.5.8: Deprecation Warnings 被替换的还有下面几个: 将update()替换为updateOne(),updateMany(),replaceOne() 将remove()替换为deleteOne()或deleteMany() 将count()替换为countDocuments(), 除非您想要计算整个集合中有多少文档(没有过滤器)。在后一种情况下,使用estimatedDocumentCount() 报错代码 可能报错1: (node:10256) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the

二分搜索树(Binary Search Tree)

这一生的挚爱 提交于 2020-04-04 09:12:11
目录 什么是二叉树? 什么是二分搜索树? 二分搜索树的基本操作 二分搜索树添加新元素 二分搜索树的遍历(包含非递归实现) 删除二分搜索树中的元素 什么是二叉树?   在实现二分搜索树之前,我们先思考一下,为什么要有树这种数据结构呢?我们通过企业的组织机构、文件存储、数据库索引等这些常见的应用会发现,将数据使用树结构存储后,会出奇的高效,树结构本身是一种天然的组织结构。常见的树结构有:二分搜索树、平衡二叉树(常见的平衡二叉树有AVL和红黑树)、堆、并查集、线段树、Trie等。Trie又叫字典树或前缀树。   树和链表一样,都属于动态数据结构,由于二分搜索树是二叉树的一种,我们先来说说什么是二叉树。二叉树具有 唯一的根节点 ,二叉树每个节点 最多 有两个孩子节点,二叉树的每个节点 最多有一个父亲节点 ,二叉树具有天然递归结构,每个节点的左子数也是一棵二叉树,每个节点的右子树也是一颗二叉树。二叉树如下图: 什么是二分搜索树?   二分搜索树也是一种二叉树,但二分搜索树种每个节点的值都要大于其左子树所有节点的值,小于其右子树所有节点的值,每一棵子树也是二分搜索树。正因为二分搜索树的这种性质,二分搜索树存储的元素必须具有可比较性。下图就是一棵二分搜索树: 我们可以根据二分搜索树的特点,构建一颗二分搜索树,代码实现如下: /** * 由于二分搜索树中的元素必须具有可比较性

Node.js 命令行工具的编写

好久不见. 提交于 2020-04-04 03:12:16
日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作。其编写也不难,和日常编写 Node.js 代码并无二致。 package.json 中的 bin 字段 一个 npm 模块,如果在 package.json 中指定了 bin 字段,那说明该模块提供了可在命令行执行的命令,这些命令就是在 bin 字段中指定的。 package.json { "bin": { "myapp": "./cli.js" } } 程序安装后会可在命令行执行 myapp 命令,实际执行的就是指定的这个 cli.js 文件。如果是全局安装,会将这个目标 js 文件映射到 prefix/bin 目录下,而如果是在项目中安装,则映射到 ./node_modules/.bin/ 目录下。 比如上面的示例,全局安装后会将 cli.js 映射到 /usr/local/bin/myapp 目录下。 # 查看项目中安装的所有可执行模块 $ ll node_modules/.bin ... webpack -> ../webpack/bin/webpack.js ... 如果你的 npm 包只提供了一个可执行的命令,可直接将 bin 字段设置为目标文件,此时命令行中可执行的 CLI 命令名为 npm 包名(即 name 字段)。 { "name": "my-program", "version":

rm -rf & node

余生长醉 提交于 2020-04-03 23:28:22
rm -rf & node rm -rf $ rm -rf mydir https://www.computerhope.com/issues/ch000798.htm https://stackoverflow.com/questions/41569788/delete-all-node-modules-subfolders https://www.nextofwindows.com/three-ways-to-delete-node_modules-directory-or-any-file-name-too-long-folders $ npm i -g rimraf $ rimraf node_modules $ find . -name "node_modules" -exec rm -rf '{}' + linux delete all node_modules folder https://www.nextofwindows.com/three-ways-to-delete-node_modules-directory-or-any-file-name-too-long-folders https://coderwall.com/p/guqrca/remove-all-node_module-folders-recursively 来源: https://www

Kuerbernetes 1.11 二进制安装

别来无恙 提交于 2020-04-03 18:37:36
Kuerbernetes 1.11 二进制安装 标签(空格分隔): k8s 2019年06月13日 本文截选 https://k.i4t.com 更多文章请持续关注https://i4t.com 什么是Kubernetes? Kubernetes是一个完备的分布式系统支撑平台。Kubernetes具有完备的集群管理能力,包括多层次的安全防护和准入机制/多租户应用支撑能力、透明的服务注册和服务发现机制、内建智能负载均衡器、强大的故障发现和自我修复功能、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制,以及多粒度的资源配额管理能力。同时kubernetes提供了完善的管理工具,这些工具覆盖了包括开发、测试部署、运维监控在内的各个环节;因此kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台 ###Kubernetes 基础服务简介 在这里我们只是简单的介绍一下Kubernetes基础组件,后面文章会有详细介绍! </br> </br> </br> ####Kubernetes Service 介绍 Service(服务)是分布式集群架构的核心,一个Server 对象拥有如下关键特征 (1) 拥有一个唯一指定的名字(比如mysql-server) (2) 拥有一个虚拟IP (Cluster IP、Service

Kubenetes 1.13.5 集群源码安装

删除回忆录丶 提交于 2020-04-03 17:32:29
Kubenetes 1.13.5 集群源码安装 标签(空格分隔): k8s 2019年06月13日 本文截选https://k.i4t.com 更多k8s内容请持续关注https://i4t.com 一、K8s简介 在1.11安装的地方已经讲过了,简单的查看K8s原理可以通过 k8s 1.11源码安装 查看,或者通过https://k.i4t.com查看更深入的原理 二、K8s环境准备 本次安装版本 Kubernetes v1.13.5 (v1.13.4有kubectl cp的bug) CNI v0.7.5 Etcd v3.2.24 Calico v3.4 Docker CE 18.06.03 kernel 4.18.9-1 (不推荐使用内核5版本) CentOS Linux release 7.6.1810 (Core) K8s系统最好选择7.4-7.6 docker 提示 Centos7.4之前的版本安装docker会无法使用 overlay2 为docker的默认存储引擎。 关闭IPtables及NetworkManager systemctl disable --now firewalld NetworkManager setenforce 0 sed -ri '/^[^#]*SELINUX=/s#=.+$#=disabled#' /etc/selinux/config

Path sum ii

折月煮酒 提交于 2020-04-03 13:26:57
Problem Statment: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum. For example: Given the below binary tree and sum = 22 , 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 return [ [5,4,11,2], [5,8,4,5] ] Solutions: This problem is same with path sum i, in last problem we just need to verify if there exists one this kind path, however, in this problem, we need store all possible paths. What different is the return type, actually, there is no bit difference. Traverse version: 1 class Solution { 2 public: 3 // This is traverse version 4 void pathFind

C#:XML操作类

孤街醉人 提交于 2020-04-03 07:15:29
写的一个XML操作类,包括读取/插入/修改/删除。 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml; namespace PuTianCheng { /// <summary> /// XmlHelper 的摘要说明 /// </summary> public class XmlHelper { public XmlHelper() { } /// <summary> /// 读取数据 /// </summary> /// <param name="path">路径</param> /// <param name="node">节点</param> /// <param name="attribute">属性名,非空时返回该属性值,否则返回串联值</param> /// <returns>string</returns> /****