题目 题解 publicclassSolution{ privateTreeNodepre=null; / 给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树 @paramrootTreeNode类 @returnbool布尔型 / publicbooleanisValidBST(TreeNoderoot){ if(nullroot){ returnfalse; } returninorder(root); } publicbooleaninorder(TreeNodecurr){ if(nullcurr){ returntrue; } booleanisLeftOK=inord...

题目 题解 publicTreeNodeMirror(TreeNodepRoot){ if(pRootnull){ returnnull; } TreeNoderoot=newTreeNode(pRoot.val); root.left=Mirror(pRoot.right); root.right=Mirror(pRoot.left); returnroot; }

  9ShvDtAiXXil   2023年11月27日   15   0   0 JavaJava

题目 题解 publicTreeNodeMirror(TreeNodepRoot){ if(pRootnull){ returnnull; } TreeNoderoot=newTreeNode(pRoot.val); root.left=Mirror(pRoot.right); root.right=Mirror(pRoot.left); returnroot; }

  9ShvDtAiXXil   2023年11月27日   10   0   0 JavaJava

题目 题解 importjava.util.; / publicclassTreeNode{ intval=0; TreeNodeleft=null; TreeNoderight=null; publicTreeNode(intval){ this.val=val; } } / publicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @paramt1TreeNode类 @paramt2TreeNode类 @returnTreeNode类 / publicTreeNodemergeTrees(TreeNodet1,T...

  9ShvDtAiXXil   2023年11月24日   13   0   0 类名方法名JavaJava类名方法名

题目 题解 /思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同 左子树的右子树和右子树的左子树相同即可,采用递归 非递归也可,采用栈或队列存取各级子树根节点 / publicclassSolution{ booleanisSymmetrical(TreeNodepRoot) { if(pRootnull){ returntrue; } returncomRoot(pRoot.left,pRoot.right); } privatebooleancomRoot(TreeNodeleft,TreeNoderight){ //TODOAuto-g...

题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。如下图所示 题解 方法一:非递归版 解题思路: 1.核心是中序遍历的非递归算法。 2.修改当前遍历节点与前一遍历节点的指针指向。 importjava.util.Stack; publicTreeNodeConvertBSTToBiList(TreeNoderoot){ if(rootnull) returnnull; Stack<TreeNode>stack=newStack<TreeNode>(); TreeNodep=root; TreeNodepre=null;//用于保存中序遍...

题目 题解 publicclassSolution{ / 给定一个二叉树root和一个值sum,判断是否有从根节点到叶子节点的节点值之和等于sum的路径 @paramrootTreeNode类 @paramsumint整型 @returnbool布尔型 / publicbooleanhasPathSum(TreeNoderoot,intsum){ if(nullroot){ returnfalse; } if(sumroot.val0&&isLeafNode(root)){ returntrue; } returnhasPathSum(root.left,sumroot...

题目 题解 深度优先搜索-递归 publicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @paramrootTreeNode类 @returnint整型一维数组 / publicint[]inorderTraversal(TreeNoderoot){ //writecodehere List<Integer>list=newArrayList<>(); dfs(root,list); int[]res=newint[list.size()]; intcnt=0; for(Integeri:list...

题目 题解 importjava.util.; / publicclassTreeNode{ intval=0; TreeNodeleft=null; TreeNoderight=null; publicTreeNode(intval){ this.val=val; } } / publicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @paramrootTreeNode类 @returnint整型一维数组 / publicint[]postorderTraversal(TreeNoderoot){ //writecod...

  9ShvDtAiXXil   2023年11月15日   12   0   0 Listi++i++JavaListJava

题目 题解 importjava.util.; / publicclassTreeNode{ intval=0; TreeNodeleft=null; TreeNoderight=null; publicTreeNode(intval){ this.val=val; } } / publicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @parampRootTreeNode类 @returnint整型ArrayList<ArrayList<>> / publicArrayList<Array...

  9ShvDtAiXXil   2023年11月15日   19   0   0 i++Stacki++JavaStackJava

一、题目 二、题解 2.1双指针 我们使用两个指针,fast与slow。 它们起始都位于链表的头部。随后,slow指针每次向后移动一个位置,而fast指针向后移动两个位置。如果链表中存在环,则fast指针最终将再次与slow指针在环中相遇。 importjava.util.; / Definitionforsingly-linkedlist. classListNode{ intval; ListNodenext; ListNode(intx){ val=x; next=null; } } / publicclassSolution{ publicbooleanhasCycle(ListN...

  9ShvDtAiXXil   2023年11月13日   18   0   0 Java结点链表Java结点链表

题目 题解 publicintcompare(Stringversion1,Stringversion2){ //用双指针遍历两个字符串 //截取.之前的数字, //比较数字大小,返回1、-1;如果全部比较完都没有结果,返回0 //关键在于处理前导0:加在前面数字乘10的后面010-->1000010-->10 inti=0; intj=0; while(i<version1.length()||j<version2.length()){ longnum1=0; longnum2=0; //处理version1 while(i<version1.length(...

题目 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 [[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]] 给定target =7,返回 true。 给定 target = 3,返回 false。 题解 ublicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @paramta...

题目 题解 如输入[2,4,1,2,7,8,4]时,会形成两个山峰,一个是索引为1,峰值为4的山峰,另一个是索引为5,峰值为8的山峰,如下图所示: importjava.util.; publicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @paramnumsint整型一维数组 @returnint整型 / publicintfindPeakElement(int[]nums){ //writecodehere if(numsnull){ return-1; } int[]dum=newint[nums.length...

  9ShvDtAiXXil   2023年11月05日   41   0   0 i++i++整型JavaJava整型

题目 题解 解法一:暴力法 importjava.util.; publicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @paramnumsint整型一维数组 @returnint整型 / publicintInversePairs(int[]nums){ longtotal=0; for(inti=0;i<nums.length;i){ for(intj=i+1;j<nums.length;j){ if(nums[i]>nums[j]){ total; } } } return(int)(total%...

一、题目 二、题解 importjava.util.; publicclassSolution{ / 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @paramnumsint整型一维数组 @paramtargetint整型 @returnint整型 / publicintsearch(int[]nums,inttarget){ //writecodehere if(nums.length0)return-1; if(nums.length1)returntargetnums[0]?0:-1; inti=0; intj=nums.length-1; wh...

一、题目 二、题解 importjava.util.; publicclassSolution{ publicListNodedeleteDuplicates(ListNodehead){ //空链表 if(headnull) returnnull; ListNoderes=newListNode(0); //在链表前加一个表头 res.next=head; ListNodecur=res; while(cur.next!=null&&cur.next.next!=null){ //遇到相邻两个节点值相同 if(cur.next.valcur.next.next.val){...

  9ShvDtAiXXil   2023年11月02日   17   0   0 Java链表Java链表

题目 题解 importjava.util.; publicclassSolution{ publicListNodedeleteDuplicates(ListNodehead){ //空链表 if(headnull) returnnull; //遍历指针 ListNodecur=head; //指针当前和下一位不为空 while(cur!=null&&cur.next!=null){ //如果当前与下一位相等则忽略下一位 if(cur.valcur.next.val) cur.next=cur.next.next; //否则指针正常遍历 else cur=cur.next...

  9ShvDtAiXXil   2023年11月02日   23   0   0 Java链表Java链表

一、题目 二、题解 知识点:双指针 双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个指针(特殊情况甚至可以多个),两个指针或是同方向访问两个链表、或是同方向访问一个链表(快慢指针)、或是相反方向扫描(对撞指针),从而达到我们需要的目的。 思路: 如下图所示,第一个节点是奇数位,第二个节点是偶数,第二个节点后又是奇数位,因此可以断掉节点1和节点2之间的连接,指向节点2的后面即节点3,如红色箭头。如果此时我们将第一个节点指向第三个节点,就可以得到那么第三个节点后为偶数节点,因此我们又可以断掉节点2到节点3之间的连接,指向节点3后一个节点即节点4,如蓝色箭头。那么我们再...

一、题目 二、题解 2.1方法一使用list列表 因为需要判断是否为回文结构,所以要比较头尾的数据,而链表无法随机查询数据,所以可以先将链表转换成list。 具体步骤 首先初始化一个list列表; 遍历链表,将链表中的值转移至list中; 在list中通过比较头尾的值来判断链表是否为回文结构。 代码如下: importjava.util.; / publicclassListNode{ intval; ListNodenext=null; } / publicclassSolution{ / @paramheadListNode类thehead @returnbool布尔型 / ...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~