Leetcode PHP题解--D33 700. Search in a Binary Search Tree

700. Search in a Binary Search Tree 题目链接 700. Search in a Binary Search Tree 题目分析 从给定的二叉树中,查找指定值及其子节点。 思路 这个好像不用多说什么了吧…按先序遍历搜索,找到则返回。 没有则返回NULL。 最终代码 ...

Leetcode PHP题解--D32 617. Merge Two Binary Trees

617. Merge Two Binary Trees 题目链接 617. Merge Two Binary Trees 题目分析 给定两个二叉树,返回一个 将对应位置值相加后的二叉树。 例如,树A的顶点值为1,树B的顶点值为2,那么返回的二叉树的顶点值需要是3。 思路 顶点自然不用多说,直接相加就可以了。 按照习惯,先遍历左节点。如果树A和树B都有左节点,那么直接相加,再递归当前函数去...

Leetcode PHP题解--D31 965. Univalued Binary Tree

965. Univalued Binary Tree 题目链接 965. Univalued Binary Tree 题目分析 如果二叉树中所有节点的值都相同,那么该二叉树被称为单值二叉树。 当给定的二叉树是单值二叉树时返回true,否则返回false。 思路 思路比较简单,把值存入全局变量数组中,再对数组的值去重。判断该数组长度是否为1即可。 最终代码 ...

Leetcode PHP题解--D30 728. Self Dividing Numbers

728. Self Dividing Numbers 题目链接 728. Self Dividing Numbers 题目分析 如果一个数字能被其中的每一位整除,那么这个数字被称为自整除数。 例如,数字128。128%1==0、128%2==0、128%8==0。均能整除。 自整除数不能包含数字0(毕竟0不能作为被除数)。 思路 首先,小于10的数都能被每一位整除。因为只有1位,自己能整...

Leetcode基础刷题之PHP解析(198. House Robber Easy)

这是一道和盗窃有关的题目,挺有意思的.大致是说,数组中的每一个数代表着每栋房子的钱,小偷可以随意偷哪栋房子,但是如果相邻的房子被偷的话,那么就会触发报警器,也就是求在不触发报警器的情况下最多能偷多少钱....

Leetcode基础刷题之PHP解析(150. Evaluate Reverse Polish Notation)

这一题叫反向波兰表示法.如果感兴趣的话可以观看维基百科对它的介绍:Reverse Polish notation.大概就是把操作数放在前面,操作符放在后面,有一定的规律就是,在操作符出现的时候,他的前面必然有两个操作数(不然就没法操作了),两个操作数完成计算的同时,从数组中删除这两个数,并且把新的值重新放回去....

Leetcode PHP题解--D29 973. K Closest Points to Origin

973. K Closest Points to Origin 题目链接 973. K Closest Points to Origin 题目分析 给一个坐标数组points,从中返回K个离0,0最近的坐标。 其中,用欧几里得距离计算。 思路 把距离作为数组的键,把对应坐标作为数组的值。 用ksort函数排序,再用array_slice函数获取前K个即可。 最终代码 ...

Leetcode PHP题解--D28 884. Uncommon Words from Two Sentences

884. Uncommon Words from Two Sentences 题目链接 884. Uncommon Words from Two Sentences 题目分析 返回给定的两个句子中唯一不同的单词。 思路 先把两个句子分别按空格分割成数组,再计算两个数组的差集,即可得知两个句子的差异。 测试后发现没通过apple apple和banana这个测试组合。系统提示应当返回ban...