用字符串模拟加法: #include"iostream" #include"string.h" using namespace std; bool AddOne(char *number,int n); void PrintNumber(char *number,int n); void Print1ToN(int n) { ) return; ]; memset(number,',n); number[n]='\0'; while(AddOne(number,n)…
问题描述: 输入数字n,按顺序打印出从1到最大的n位十进制数,比如输入3,则打印出1,2,3一直到最大的3位数即999. 思路1:最简单的想法就是先找出最大的n位数,然后循环打印即可. public static void Print1ToMaxOfNDigits_1(int n){ int number = 1; int i = 0; while(i++ < n){ number *= 10; } //number-1是最大的n位数 for(int j = 1; j < number; j+…
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 思路1: 分别用p1,p2两个指针扫描两个有序链表,p3指针去构建新链表h3. p1.val <= p2.val,则p3把p1指向的结点加入h3,p1后移动.反之,对p2进行对应操作. 代码:(未验证正确性,提交时显示超时,所以不知道功能是否实现,还是仅仅时间复杂度高?) public ListNode Merge(ListNode list1,ListNode list2) { if(lis…
思路: 比较两个链表端点值的大小,通过递归的方式排列. #include <iostream> using namespace std; struct ListNode { int val; ListNode *next; ListNode():val(v), next(NULL){} }; ListNode *SortedListMerge(ListNode *phead1, ListNode *phead2) { if(phead1 == NULL) return phead2; else…
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点人是按照递增排序的.解题思路:两个链表分别都已经是有序的了,遍历链表的时候只要比较两个链表当前位置大小,取出最小的添加到新链表中. 可以有递归.循环两种方式来解决. package Solution; public class No17MergeSortedLists { public static class ListNode { int data; ListNode next; public ListNode() { } publ…
面试题 17. 打印从 1 到最大的 n 位数 题目描述 题目:输入数字 n,按顺序打印出从 1 最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数即 999. 解答过程 样例 给出 n = 1, 返回[1,2,3,4,5,6,7,8,9]. 给出 n = 2, 返回[1,2,3,4,5,6,7,8,9,10,11,...,99]. 挑战 用递归完成,而非循环的方式. Java 实现 public class Solution { /** * @param n:…
剑指offer  面试题23:从上往下打印二叉树 参与人数:4853  时间限制:1秒  空间限制:32768K 提交网址: http://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 分析: 此题即为二叉树的BFS,使用队列可以解决. AC代码: #include<cstdio> #include<vec…
剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题) 原书题目:0, 1, - , n-1 这n个数字排成一个圈圈,从数字0开始每次从圆圏里删除第m个数字.求出这个圈圈里剩下的最后一个数字. 牛客网改编:孩子们的游戏(圆圈中最后剩下的数) 提交网址: http://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6?tpId=13&tqId=11199 参与人数:1699  时间限制:1秒 空间限制:32768K 本题…
题目链接地址: http://ac.jobdu.com/problem.php? pid=1368 题目1368:二叉树中和为某一值的路径 时间限制:1 秒内存限制:32 兆特殊判题:否提交:2252解决:562 题目描写叙述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的全部路径. 路径定义为从树的根结点開始往下一直到叶结点所经过的结点形成一条路径. 输入: 每一个測试案例包含n+1行: 第一行为2个整数n.k(1<=n<=10000).n表示结点的个数.k表示要求的路径和…
题目链接地址: http://ac.jobdu.com/problem.php?pid=1371 题目1371:最小的K个数 时间限制:1 秒内存限制:32 兆特殊判题:否提交:5938解决:1265 题目描写叙述: 输入n个整数,找出当中最小的K个数.比如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 输入: 每一个測试案例包括2行: 第一行为2个整数n.k(1<=n.k<=200000),表示数组的长度. 第二行包括n个整数.表示这n个数.数组中的数的范…