- 博客(9)
- 收藏
- 关注
原创 Leetcode206 反转链表(Java实现)
一.题目描述 二.解题方法 迭代法 代码思路: 分别初始化三个节点,分别是prev = null,curr = head,next = head.next。 prev保存curr的前一个节点,以便curr的next能够指向它,从而达到反转链表的目的。循环遍历链表,next用来保存curr的下一个节点,主要用来更新curr节点,curr = next。 class Solution { public ListNode reverseList(ListNode head) {
2022-01-08 19:34:36
493
原创 Leetcode543二叉树的直径(JAVA实现)
一.题目描述 二.方法 递归 函数为: public int diameterOfBinaryTree(TreeNode root) 我的思考过程: 最大直径表示的是两节点之间的边的数目,考虑左右子树的最大直径,如下: int left_length = diameterOfBinaryTree(root.left); int right_length = diameterOfBinaryTree(root.right); 可以得到左子树的最大直径left_depth,右子树的最
2022-01-01 15:25:37
629
原创 leetcode101对称二叉树-JAVA
一.题目描述 判断一棵树是否是对称二叉树 public boolean isSymmetric(TreeNode root){} 二.解题方法 递归 递归的思路很简单,判断它的左右子树是否对称就可以,所以构造函数。 public boolean compare(TreeNode root1,TreeNode root2){ } 先确定递归终止的条件。 root1和root2有一个结点为空,root1和root2都为空。 如果root1和root2节点不为空,比较r.
2021-12-29 20:37:15
235
原创 leetcode227合并二叉树
一.题目描述 二.解决办法 1.递归 如果考虑递归,就需要知道递归的终止条件是什么?本题的终止条件是: 当root1或者root2为空时,root1为空就返回root2,root2为空就返回root1 if(root1 == null) return root2; if(root2 == null) return root1; 确定了终止条件后,我的理解是进行一次进行一次合并二叉树的操作。 class Solution { public TreeNode merg
2021-12-25 23:24:47
321
原创 leetcode226-翻转二叉树(JAVA实现)
一.题目描述 翻转一颗二叉树 二. 解法 层序遍历法 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, Tr
2021-12-23 00:17:52
733
原创 Leetcode104二叉树的最大深度
一.题目 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明:叶子节点是指没有子节点的节点。 二.方法 递归(深度优先搜索) 如果我们知道了左子树和右子树的最大深度和,那么该二叉树的最大深度即为 然后左子树和右子树的深度可以通过同样的方式得到,所以是一个典型的递归问题。 /** * Definition for a binary tree node. * struct TreeNode { * ..
2021-12-19 13:22:49
114
原创 Leetcode94:二叉树的中序遍历
一.题目 给定一个二叉树的根节点root,返回它的中序遍历 二.方法 递归 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNod...
2021-12-12 21:07:59
887
原创 Eigen库的使用
一.介绍 Eigen库是一个C++的开源线性代数库,可以提供矩阵的计算,十分方便。下面是官方的文档。http://eigen.tuxfamily.org/dox/classEigen_1_1Transform.html 二.安装 在ubuntu下安装Eigen线性库,只要执行下面的指令: sudo apt-get install libeigen3-dev Eigen库会被安装在/user/include目录下,文件夹的名字叫做eigen3。若在V...
2021-07-16 18:12:15
1563
转载 memset函数
原型:extern void *memset(void *buffer, int c, int count); 用法:#include <string.h> 功能:把buffer所指内存区域的前count个字节设置成字符c。 说明:返回指向buffer的指针。 memset(&a,0,sizeof(a));对数组或者结构体进行清空。 ...
2021-07-05 14:14:38
95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅