-
链表中倒数第k个结点(思路和实现)
下面要给大家分享的实例是和链表中的倒数第k个结点相关的内容,包括了具体的思路和实现方式,一起来了解一下吧。题目:输入一个链表,输出这个链表当中倒数第k个结点。思路1代码实现:public ListNode FindKthToTail(ListNode head, int k) { //5,{1,2,3,4,5} ListNode p, q;  
-
java反转链表(思路和实现)
下面要给大家带来的实例是和反转链表相关的内容,一起来看看具体的思路和代码实现方式吧!题目:输入一个链表,反转链表之后,输出新链表的表头。思路1:循环操作代码实现:public class Solution { public ListNode ReverseList(ListNode head) {  
-
合并两个排序的链表(思路和实现)
下面要给大家分享的是和合并两个排序的链表相关的内容,一起来看看具体的思路和实现方式吧。题目:输入2个单调递增的链表,输出2个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路1:代码实现:public ListNode Merge(ListNode list1, ListNode list2) { if (list1 == null) &
-
树的子结构(思路和实现)
下面要给大家带来的是和树的子结构相关的内容,一起来看一下具体的几种思路和实现方式吧。题目:输入2棵二叉树A,B,判断B是不是A的子结构。注:约定空树不是任意一个树的子结构。思路1代码实现:public boolean HasSubtree(TreeNode root1, TreeNode root2) { if (root1 == null || 
-
将二叉树变换为源二叉树的镜像如何实现?思路和实现
你知道将一个叉树变换为源二叉树的镜像java要怎样才能实现吗?下面的文章要给大家分享的就是这个方面的内容。一、题目操作给定的二叉树,将该二叉树变换为源二叉树的镜像。输入描述:二、思路和实现思路1代码实现:public class Solution { public void Mirror(TreeNode root) {  
-
顺时针打印矩阵如何实现?思路和实现分享java
你知道顺时针打印矩阵java如何来实现吗?下面要给大家分享的就是这方面相关的内容,下面一起来了解一下思路和实现方式吧。题目:输入一个矩阵,依照从外向里以顺时针的顺序依次打印出每一个数字。例:假如输入以下4X4矩阵:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16那么依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。思路1代码实现:import java.util.ArrayList; public c
-
包含min函数的栈(思路和实现)
下面要给大家带来的是和包含min函数的栈实例相关的内容,具体包括了三种思路和代码实现方式,一起来了解一下吧。题目:定义栈的数据结构,请在这个类型中实现一个可以得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注:保证测试当中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。思路1代码实现:import java.util.Stack; public class Solution {  
-
判断序列是否为该栈的弹出顺序,如何实现?思路分享
下面要给大家分享的是一个和栈的压入、弹出序列有关的内容,一起来了解一下吧。题目:输入2个整数序列,第1个序列表示栈的压入顺序,请判断第2个序列是否是这个栈的弹出顺序。假设:压入栈的所有数字都不相等。例:序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是这个压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是这个压栈序列的弹出序列。注:这2个序列的长度是相等的。思路1代码实现:class Solution { public: &n
-
从上往下打印出二叉树的每个节点(思路和实现)
你知道从上往下打印出二叉树的每个节点,同层节点从左至右打印的思路和代码实现方式吗?下面一起来了解一下吧!题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路1代码实现:/** 思路是用arraylist模拟一个队列来存储相应的TreeNode */ public class Solution { public ArrayList < Integer >&n
-
判断数组是不是二叉搜索树的后序遍历的结果(思路和实现)
下面要给大家分享的是和二叉搜索树的后序遍历序列相关的实例,具体包括了思路和代码实现。题目:输入一个非空整数数组,判断这个数组是否为某二叉搜索树的后序遍历的结果。假如是的话,那么输出Yes,假如不是的话,那么输出No。假设输入的数组的任意2个数字都是不同的。思路1:BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),假如去掉最后一个元素的序列为T,那么T满足:T可以分成2段,前一段(左子树)小于x,后一段(右子树)大于x,且这2段(子树)都是合法的后序序列。完美的递归