root

leetcode 1325. 删除给定值的叶子节点(C++)

依然范特西╮ 提交于 2020-01-24 22:12:57
给你一棵以 root 为根的二叉树和一个整数 target ,请你删除所有值为 target 的 叶子节点 。 注意,一旦删除值为 target 的叶子节点,它的父节点就可能变成叶子节点;如果新叶子节点的值恰好也是 target ,那么这个节点也应该被删除。 也就是说,你需要重复此过程直到不能继续删除。 示例 1: 输入:root = [1,2,3,2,null,2,4], target = 2 输出:[1,null,3,null,4] 解释: 上面左边的图中,绿色节点为叶子节点,且它们的值与 target 相同(同为 2 ),它们会被删除,得到中间的图。 有一个新的节点变成了叶子节点且它的值与 target 相同,所以将再次进行删除,从而得到最右边的图。 示例 2: 输入:root = [1,3,3,3,2], target = 3 输出:[1,3,null,null,2] 示例 3: 输入:root = [1,2,null,2,null,2], target = 2 输出:[1] 解释:每一步都删除一个绿色的叶子节点(值为 2)。 示例 4: 输入:root = [1,1,1], target = 1 输出:[] 示例 5: 输入:root = [1,2,3], target = 1 输出:[1,2,3] 提示: 1 <= target <= 1000 每一棵树最多有 3000

653. Two Sum IV - Input is a BST

て烟熏妆下的殇ゞ 提交于 2020-01-24 21:51:13
653. 两数之和 IV - 输入 BST 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 案例 1: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 输出: True 案例 2: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 28 输出: False 解法一 //时间复杂度O(n), 空间复杂度O(n) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: bool findTarget(TreeNode* root, int k) { if(!root) return false; if(findTarget(root->left, k)) return true; if(us.count(root->val)) return true; us.insert(k - root->val); if(findTarget(root-

本机nginx+远程docker php

拟墨画扇 提交于 2020-01-24 20:19:20
本机(ip10.9.236.192)nginx配置 #/var/www/docker/conf/conf.d/80.conf server { listen 80; root /root/docker/nginx/www; index index.php index.html index.htm; location / { root /root/docker/nginx/www; index index.html index.htm; } try_files $uri $uri/ /index.php$request_uri; location ~ \.php$ { root /usr/aa;远程php的web目录 fastcgi_pass 10.9.236.191:9004;#远程php的ip。如果是docker,需暴露端口 -p 9004:9000 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 远程(ip10.9.236.191)docker中的php配置 启动php [yeman@myhost docker]# docker run -d --name php9004 -p 9004

AC自动机模板

霸气de小男生 提交于 2020-01-24 14:44:27
AC自动机原理: 摘自 http://www.cnblogs.com/huangxincheng/archive/2012/12/02/2798317.html ,ORZ大牛 一:构建AC自动机 同样我也用网上的经典例子,现有say she shr he her 这样5个模式串,主串为yasherhs,我要做的就是哪些模式串在主串中出现过? 1: 构建trie树 如果看过我前面的文章,构建trie树还是很容易的。 2:失败指针 构建失败指针是AC自动机的核心所在,玩转了它也就玩转了AC自动机,失败指针非常类似于KMP中的next数组,也就是说, 当我的主串在trie树中进行匹配的时候,如果当前节点不能再继续进行匹配,那么我们就会走到当前节点的failNode节点继续进行 匹配,构建failnode节点也是很流程化的。 ①:root节点的子节点的failnode都是指向root。 ②:当走到在“she”中的”h“节点时,我们给它的failnode设置什么呢?此时就要走该节点(h)的父节点(s)的失败指针,一直回溯直 到找到某个节点的孩子节点也是当初节点同样的字符(h),没有找到的话,其失败指针就指向root。 比如:h节点的父节点为s,s的failnode节点为root,走到root后继续寻找子节点为h的节点,恰好我们找到了,( 假如还是没 有找到,则继续走该节点的failnode

Pycharm使用遇到的相关问题

ⅰ亾dé卋堺 提交于 2020-01-24 11:45:54
[]前置条件:导入同一个包下的模块 问题:Pycharm中,配置好解释器之后,不指定包名的话,会报错. 即指定了包名,就不会有红色波浪 未配置解释器时,不指定包名是不会报错 解决: 模块名前面加个点 选中包,右键make as,将包设置为source content path;或者在preference中的project设置也行 原因: 在Pycharm中,有个概念叫上下文的根(content root),它包含了当前工作目录到所有文件的集合,来组织子目录的架构 而这个上下文的根(content root)是由几个部分共同协作的,包括Regular content roots,Source roots,Resource roots,Excluded roots,Template roots 其中, Source roots包含实际的源文件和资源。PyCharm使用Source roots作为解析导入(import)的起点。PyCharm可以解析、检查、索引和编译这些根的内容。 而默认情况下,只有项目的根目录是设置为Regular content roots,而没有配置包为Source roots.要导入的模块不在能找到实际文件的上下文中,所以会报错 也就是说,指定了包名或者点号,就指定了import的起点,否则需要配置Source roots 相关概念 Content Root

ssh登录配置

℡╲_俬逩灬. 提交于 2020-01-24 06:05:10
文章目录 生成密钥对的途径 方式一 方式二 修改ssh登录配置 生成密钥对的途径 方式一 通过客户端软件生成密钥对,将公钥拷贝到远程主机的需要登录的用户目录的.ssh目录中 过程略 方式二 在远程主机中生成密钥对 生成密钥对 ## 建立密钥对 ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key ( /root/.ssh/id_rsa ) : <= = 按 Enter Created directory '/root/.ssh' . Enter passphrase ( empty for no passphrase ) : <= = 输入密钥锁码,或直接按 Enter 留空 Enter same passphrase again: <= = 再输入一遍密钥锁码 Your identification has been saved in /root/.ssh/id_rsa. <= = 私钥 Your public key has been saved in /root/.ssh/id_rsa.pub. <= = 公钥 The key fingerprint is: 0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08

Python tkinter 编程之Button_1

落花浮王杯 提交于 2020-01-24 05:45:40
# -*-coding:utf-8 -*- # ''' 第一个Button例子 Button功能触发事件 command:指定事件处理函数 ''' from tkinter import * def hellowButton(): print('hello Button') root = Tk() Button(root, text = 'Hello Button', command = hellowButton).pack() #下面的relief = FLAT设置,不指定事件处理函数,就是一个Label了!!! Button(root, text = 'hello button', relief = FLAT).pack() root.mainloop() 来源: CSDN 作者: qiukapi 链接: https://blog.csdn.net/qiukapi/article/details/104032568

MySql安装与使用(linux)

此生再无相见时 提交于 2020-01-24 04:48:03
安装 MySQL 注意:此处安装是yum安装为例: MySQL安装 #yum install mysql-server 完后显示如下: MySQL初始化 #service mysqld start 查看端口号(默认端口号:3306) ‘#mysql_secure_installation’ Enter current password for root (enter for none ):请输入当前root用户的密码,如果没有按回车,注意此root并非linux的root用户。 Set root password ?是否设置root密码? 需要设置的密码:Vqdqi0oTVejf Remove anonymous users? [Y/n] 是否移除匿名用户,选择移除(Y) Disallow root login remotely? [Y/n] 是否允许root远程登录(默认不允许) Remove test database and access to it? [Y/n] 是否移除测试数据库(建议先不移除) Reload privilege tables now? [Y/n] 是否重新加载权限表(当我们更改了mysql用户相关的信息之后建议去重载权限) MySQL的启动控制 语法:service mysqld start/stop/restart 进入mysql的方式: mysql

Linux下将Python升级至最新版本

我的未来我决定 提交于 2020-01-24 03:54:16
一、前往官网下载python最新版本 目前的最新版本是3.8.1 https://www.python.org/downloads/release/python-381/ Version下第一个即可,点击保存下载即可,完成后解压, 进入文件夹,编译安装: tar -xf Python-3.8.1.tgz cd Python-3.8.1 ./configure --prefix = /usr/local && make && make altinstall 报错权限不足,建议使用root,如果是第一次使用root权限,先配置root密码: sudo passwd root 两次输入密码后,配置成功,键入su,输入密码进入root权限,然后再次编译安装: ✘ doublehuhu@linux ~ su 密码: root@linux:/home/doublehuhu # ./configure --prefix=/usr/local && make && make altinstall 安装完成后,创建软链接: cd /usr/local/bin/ ln -sf /usr/local/bin/python3.8 /usr/bin/python 退出root权限,查看Python版本,注意V是大写字母 exit python -V 输出: Python 3.8.1 升级成功 来源:

【PE】通过SecureCRT远程登录telnet连接虚拟机的linux系统(CentOS/Ubuntu)

我的未来我决定 提交于 2020-01-24 01:07:39
###Date: 2017/9/17 ###Author: SoaringLee 一、 题记 周末在家里闲来无事,想着之前安装了SecureCRT,就尝试着利用这个软件telnet连接虚拟机中的linux系统。之前虚拟机VMvare Workstation里安装的是CentOS,现在尝试采用桌面级linux系统Ubuntu进行测试。 二、准备材料 虚拟机:VMvare Workstation Linux系统:Ubuntu 远程登录软件:SecureCRT 三、步骤(这里以ubuntu系统为例说明) 1、首先是设置虚拟机中Ubuntu采用的网络连接方式为仅主机模式(host-only),这种方式与主机共享专用网络。 2、 查看主机的网络连接设置,找到如图示三个连接 其中,VMnet8和NAT方式相关,本文暂不讨论。这里VMnet1和host-only相关,设置VMnet1的ip如下,其中“177”可以换成不冲突的任意子网,而1 不可更改,这里的1表示分配给主机的子网内ip,即全部完成后虚拟机ping192.168.177.1就会ping通主机。 3、登录Ubuntu系统,采用ifconfig命令查看ens33网卡或者eth0网卡的IP地址: 注意:这里需要设置虚拟机中ubuntu系统的IP地址和主机IP地址在同一个网段内,图中已经设置好了。 如果不在同一个网段内