摘要:
1 //字符串的排列 2 //题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 3 //输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。----------------------------------------------... 阅读全文
摘要:
1 //二叉搜索树与双向链表 2 //题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 3 struct TreeNode 4 { 5 int val; 6 struct TreeNode* left; 7 struct TreeNode* right; 8 TreeNode(... 阅读全文
摘要:
1 //复杂链表的复制 2 //输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 3 // 4 //思路:拷贝链表的结点,需要根据已知链表的结点的值,创建一个新的结点 5 struct RandomListNode 6... 阅读全文
摘要:
1 //题目:二叉树中和为某一值的路径 2 //输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 3 //看见二叉树,二话不说,先写树的结点定义 4 //思路:注意这道题的递归,在递归的时候没有对其定义返回值;也就是说并不是每个递归函数都要考虑其返回值,只有当需要根据递归函数做判断结果时,才定义返... 阅读全文