摘要:
Question 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m 1的那个小朋友要出列唱首歌,然后可以在礼 阅读全文
摘要:
Question 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 Solution ab 阅读全文
摘要:
Question 给定一个数组A[0,1,...,n 1],请构建一个数组B[0,1,...,n 1],其中B中的元素B[i]=A[0] A[1] ... A[i 1] A[i+1] ... A[n 1]。不能使用除法。 Solution 不能用除法,那么我们可以考虑构建除去A[i] 的左右两部分的 阅读全文
摘要:
Question 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 Solution 用一个队列保存当前结点的孩子结点 然后要记录即将出队列结点的个数,因为会有新的节点入队列,所以要记录,然后一次遍历,这些节点的孩子又入队列。 Code 阅读全文
摘要:
Question 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 Solution 二叉搜索树的中序遍历是一个有序序列 因为是二叉搜索树,左孩子,的父亲肯定比它大,肯定可以找到下一个节点 主要是处理右孩子节点和根 阅读全文
摘要:
Question 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 Solution 因为树的每个节点都有两个指针,并且双向链表的节点也有两个指针,所以这个转换是可行的。 首先是有序的链表,并且是二叉搜索树,那么我们可以想到用中序遍历 阅读全文