摘要: 1 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 输入一个字符串,按字典序打 阅读全文
posted @ 2019-08-26 18:15 wxwreal 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 2 思路和方法 在二叉搜索树中,每个结点都有两个分别指向其左、右子树的指针,左子树结点的值总是小于父结点的值,右子树结点的值总是大于父结点的值。 在双向链表中,每个结点也 阅读全文
posted @ 2019-08-26 17:21 wxwreal 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 2 思路和方法 考察链表的遍历知识,和对链表中添加节点细节的考察。 同 阅读全文
posted @ 2019-08-26 16:58 wxwreal 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)。 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 阅读全文
posted @ 2019-08-26 15:15 wxwreal 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 2 思路和方法 二叉搜索树:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质 阅读全文
posted @ 2019-08-26 14:41 wxwreal 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 2 思路和方法 使用一个队列存放节点。先将根节点加入到队列中,然后循环遍历队列中的元素,遍历过程中,访问该节点的左右子节点,再将左右子节点加入到队列中。 例子:1 2 3 4 5 6 7 8 ​ 对于第一层,只有根节点 1,第二层 阅读全文
posted @ 2019-08-26 11:19 wxwreal 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列 阅读全文
posted @ 2019-08-26 10:53 wxwreal 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 2. 思路和方法 利用辅助栈来存储现有栈的最小值。在入栈和出栈的时候将现有栈和最小值栈进行比较。入栈时,若新值比最小值栈的栈顶还小,则将该值同时push到最小值栈;出栈时,若现有栈的 阅读全文
posted @ 2019-08-26 02:38 wxwreal 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 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. 2 思路和方法 阅读全文
posted @ 2019-08-26 02:20 wxwreal 阅读(365) 评论(0) 推荐(0) 编辑
摘要: c语言模拟 1 #include<stdio.h> 2 #include<string.h> 3 #define NAME_MAX 15 4 #define SEX_MAX 3 5 #define AGE_MAX 100 6 #define TEL_MAX 15 7 #define ADDR_MAX 阅读全文
posted @ 2019-08-26 01:55 wxwreal 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 2 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 3 思路和方法 (1)递归思想,先交换根节点的左右子树的位置,然后向下递 阅读全文
posted @ 2019-08-26 01:40 wxwreal 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 2 思路和方法 (1)先在A中找和B的根节点相同的结点 (2)找到之后遍历对应位置的其他结点,直到B中结点遍历完,都相同时,则B是A的子树 (3)对应位置的结点不相同时,退出继续在A中寻找和B的 阅读全文
posted @ 2019-08-26 01:20 wxwreal 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 2 思路与方法 迭代法:两个链表中较小的头结点作为合并后头结点,之后依次合并两个链表中较小的结点,以此类推,最终合并剩余结点; ListNode* out_list =s->Merge(l1, 阅读全文
posted @ 2019-08-26 00:32 wxwreal 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一个链表,反转链表后,输出新链表的表头。 2 思路和方法 (1)利用栈作为中间存储,进行链表的反转,将压入的数据按先进后出的顺序弹出依次赋给链表再输出表头pHead。 (2)将当前节点数对应的下一个节点数保存tmp=pHead.next,将上个节点数last赋值给pHead.nex 阅读全文
posted @ 2019-08-26 00:03 wxwreal 阅读(304) 评论(0) 推荐(0) 编辑