## leetcode 530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数 、236. 二叉树的最近公共祖先

##### leetcode 530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数 、236. 二叉树的最近公共祖先
###### 题目：

0 <= Node.val <= 105

###### 代码：
class Solution {TreeNode pre = null; //前序指针int res = Integer.MAX_VALUE; //记录变量public int getMinimumDifference(TreeNode root) {travese(root);return res;}public void travese(TreeNode root) {if (root == null) return; //递归终止条件travese(root.left); //左if (pre != null) {res = Math.min(res,root.val - pre.val);  //中}pre = root; //前序指针跟着前进travese(root.right); //右}
}

###### 题目

-105 <= Node.val <= 105

###### 代码：
class Solution {TreeNode pre = null; //前序指针int count = 0; //出现的次数int Maxcount = 0; //最大次数List<Integer> res = new ArrayList<>(); //结果数组public int[] findMode(TreeNode root) {searchBST(root);int[] result = new int[res.size()]; //因为题目要求返回int[]类型，而结果存储是List中，所以要取出来放在一个int[]中。for (int i = 0; i < result.length; i++) {result[i] = res.get(i);}return result;}public void searchBST(TreeNode root) {if (root == null) return; //递归终止条件searchBST(root.left); //左if (pre == null || pre.val != root.val) { //遍历开始或者不算同个值，count为1count = 1;}else { //是同个值，count++count++;}if (count == Maxcount) { //count==最大次数，将该值添加到结果数组中res.add(root.val);}if (count > Maxcount) { //count大于最大次数，更新结果数组和最大次数值Maxcount = count;res.clear();res.add(root.val);}pre = root; //前序指针继续前进searchBST(root.right); //右}
}


class Solution {public int[] findMode(TreeNode root) {TreeNode pre = null;Stack<TreeNode> s = new Stack<TreeNode>();List<Integer> res = new ArrayList<>();int maxcount = 0;int count = 0;TreeNode cur = root;while (cur != null || !s.isEmpty()) {if (cur!=null) {s.push(cur);cur = cur.left;}else {cur = s.pop();if (pre == null || pre.val != cur.val) {count = 1;}else {count++;}if (count == maxcount) {res.add(cur.val);}if (count > maxcount) {maxcount = count;res.clear();res.add(cur.val);}pre = cur;cur = cur.right;}}return res.stream().mapToInt(Integer::intValue).toArray();}
}

###### 题目

-109 <= Node.val <= 109

p != q
p 和 q 均存在于给定的二叉树中。

###### 代码
class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if (root == p || root == q || root == null) return root; //递归终止条件TreeNode left = lowestCommonAncestor(root.left,p,q);TreeNode right = lowestCommonAncestor(root.right,p,q);if (left == null && right != null) { // 若找到一个节点return right;}else if (right == null && left != null) { // 若找到一个节点return left;} else if (left == null && right == null) { // 若未找到节点 p 或 qreturn null;} else { // 若找到两个节点return root;}}
}


### php 连接sqlserver步骤

1.首先要确定使用的是sqlserver的哪个版本&#xff0c;比如sqlserver2012 2.确定服务器是64位还是32位的 3.确认一下使用php的哪个版本&#xff0c;比如php7.1 SQL Server 的 Microsoft PHP 驱动程序 Microsoft Drivers for PHP 支持矩阵 - PHP drivers for SQL Server | Mi…

### Java数组的使用

Java数组的使用 前言一、数组基本用法什么是数组注意事项创建数组基本语法代码示例注意事项 数组的使用代码示例获取长度 & 访问元素注意事项 下标越界遍历数组编程求平均成绩Mathrandom类现有100个学生&#xff0c;编程求平均成绩 使用 for-each 遍历数组 二、数组作为方法…

### tty/pty/console/getty/shell/telnet

tty 终端（termimal）= tty（Teletypewriter， 电传打印机），作用是提供一个命令的输入输出环境，在linux下使用组合键ctrl+alt+T打开的就是终端，可以认为terminal和tty是同义词。 tty泛指所有的终端设置，这些是真实存在的设备。 通过tty命令可以查看当前终端连接的设备。…

### Linux 一键部署alfresco 6

alfresco 前言 Alfresco是一个流行的企业级开源内容管理系统和协作平台。它提供了丰富的功能，包括文档管理、记录管理、协作工具、工作流管理、搜索和版本控制等。Alfresco还具有灵活的部署选项，可以作为本地部署的软件或云服务来使用。 该平台可以帮助组织管理和存储各种类…

### WPS文件没有保存怎么恢复？5个解决方案轻松恢复！

“我在WPS上编辑了一个文件&#xff0c;但是还没来得及将它保存&#xff0c;我不小心就退出软件了&#xff0c;现在不知道有什么方法可以恢复WPS文件呢&#xff1f;大家可以帮帮我吗” WPS作为一款功能强大且用户友好的软件&#xff0c;给我们的工作带来了很多的便利。但我们在…