上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页
摘要: 输入一棵二叉搜索树,将该树转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整树中的指针指向 分析:使用中序遍历每一个节点,根节点和左子树的右子树相连,根节点再和右子树的最左子树相连 BinaryTreeNode Convert( BinaryTreeNode pRootofTree ){ 阅读全文
posted @ 2020-03-29 15:08 浪波激泥 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 在复杂链表中,每个节点不止有指向下一个节点的指针,还有一个指向表中任意节点的指针pSibling。 方法: 第一步在每个节点N后面创建节点'N,把N'连接到N的后面 void f1(ListNode pHead){ ListNode pNode =pHead; while( pNode !=null 阅读全文
posted @ 2020-03-29 15:06 浪波激泥 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 输入一颗二叉树和一个值,打印出和为该值的所有路径。从树的根节点开始往下直到叶节点所经历过的节点形成的一条路径。 方法:前序遍历法 void FindPath ( BiinaryTreeNode pRoot, int k){ if(pRoot==null) return; List<Integer> 阅读全文
posted @ 2020-03-29 15:03 浪波激泥 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 输入一个数组,判断是不是某个二叉寻找树的后序遍历结果,假如数组中任意两个数字都不相同则返回true 二叉树搜索数树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 明确搜索二叉树的定 阅读全文
posted @ 2020-03-29 15:01 浪波激泥 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 即按层遍历树,广度优先遍历 要求输出 8,10,6,9,11,5,7方法一:定义一个队列,把出队的节点的左右子树节点进队,如果左右节点为null则不用进队 1 void PrintTree( BinaryTreeNode phead ){ 2 if(phead==nuull) return ; 3 阅读全文
posted @ 2020-03-29 15:00 浪波激泥 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 输入两个序列,第一个序列为栈的压入顺序,第二个序列为栈的弹出顺序,设问第二个序列是否是第一个序列的弹出序列。方法:定义一个辅助栈,和两个指针分别指向两个序列的开头,压入序列进栈,栈顶元素与弹出序列指针指向的比较,不一致,继续进栈比较,一致,弹出栈顶元素。 规律:如果下一个弹出的数字刚好是栈顶数字,那 阅读全文
posted @ 2020-03-29 14:57 浪波激泥 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 定义一个栈的数据结构,请实现一个每次都能找到栈中的最小元素,要求时间复杂度O(1)。意思就是说每次进栈出栈后,min函数总能在时间1的前提下找到。方法一:由于每次循序遍历栈的话时间复杂度为n,所以要想时间1,就必须牺牲空间换时间, 在原有栈的基础上,再定义一个最小值数据栈和保存现有最小值min变量, 阅读全文
posted @ 2020-03-29 14:54 浪波激泥 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 方法一:定义边界:防止溢出或者重复打印 1 public List<Integer> spiralOrder(int[][] matrix) { 2 List<Integer> list=new ArrayList(); 3 if(matrix.length==0) return list; 4 i 阅读全文
posted @ 2020-03-29 14:52 浪波激泥 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 判断相对根节点的左右子树是否一样 方法:比较二叉树的前序遍历序列和对称前序遍历序列 比较用左左和右的右比较,左的右和右的左比较 1 boolean f1(BinaryTreeNode pRoot ){ 2 return f2(pRoot, pRoot); 3 } 4 boolean f2(Binar 阅读全文
posted @ 2020-03-29 14:50 浪波激泥 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 左右子树颠倒 前序遍历 在遍历过程中将左右节点颠倒后在遍历左右子树 void f1( BinaryTreeNode A){ if( A==null ) return ; if( A.L==null && A.R==null ) return ; //叶子 BinaryTreeNode temp= A 阅读全文
posted @ 2020-03-29 14:49 浪波激泥 阅读(149) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页