ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】112. 路径总和
https://leetcode-cn.com/problems/path-sum/submissions/
1)problem
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
**说明: **叶子节点是指没有子节点的节点。
**示例: **
给定如下二叉树,以及目标和 sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
返回true
, 因为存在目标和为 22 的根节点到叶子节点的路径5->4->11->2
。
2)answer
用sum来表示二叉树中某一节点到叶子路径的值(这个节点可以是根节点,也可以二叉树中的任意节点,任意节点和根节点中间是递归关系):
1、如果当前节点是叶子节点,则判断sum值是否和叶子节点的值相同,相同则返回true。否则返回false。
2、如果当前节点不是叶子节点,说明有孩子节点,则递归遍历左右子树。左右子树的sum=当前节点的sum-当前节点的val
3)solution
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def hasPathSum(self, root: TreeNode, sum: int) -> bool:
if root is None:
return False
if root.left is None and root.right is None and root.val == sum:
return True
else:
return self.hasPathSum(root.left,sum - root.val) or self.hasPathSum(root.right ,sum - root.val)
Review
【漏洞挖掘】PHPStudy后门事件分析
1)场景
PHPStudy后门事件分析
2)问题难点
学习后门分析
3)解决问题的方法
影响版本
分析过程
php_xmlrpc.dll
定位特征字符串位置
静态分析传参数据
动态调试构造传参内容
PHP脚本后门分析
POC
受影响站点
参考
4)方法细节
https://www.cnblogs.com/17bdw/p/11580409.html
Tip
【安全开发】CentOS6安装MySQL开启远程登录
1)场景
CentOS6安装MySQL开启远程登录
2)问题难点
无
3)解决思路
Centos6安装MySQL
4)方法细节
https://www.cnblogs.com/17bdw/p/11592341.html
Share
【业务】威胁情报之资产收集
1)场景
威胁情报之资产收集
2)问题难点
无
3)解决思路
0x1 什么是漏洞扫描
0x2 为什么要做网段的探测
0x3 资产收集
3.1 数据库设计
3.2 入库整理
0x4 漏洞扫描的影响
4.1 网络影响
4.2 异常处理影响
4.3 日志影响
0x5 探测安全问题
0x6 改进
参考
4)方法细节
https://www.cnblogs.com/17bdw/p/11654008.html