a Problem a day
thon
hi
展开
-
4-07:链表合并
layout: post_code title: 4-07:链表合并 category: problemdescription: 问题:链表合并合并两个已排序的链表input: 1->3->5; 2->4->6output: 1->2->3->4->5->6class ilistnode{public: ilistnode(int value, ilistnode* next原创 2015-04-11 11:38:18 · 267 阅读 · 0 评论 -
4-03:字符替换
问题:字符替换实现一个函数,将字符串中的每个空格替换为”%20。input:”we are happy”output:”we%20are%20happy”void replacespace(char* istring,int length){ if (istring == NULL || length < 0) return; int spacenumber = 0原创 2015-04-11 11:37:24 · 277 阅读 · 0 评论 -
4-10:二叉树镜像
问题:二叉树镜像输入二叉树,求二叉树的镜像。void reversetree(TreeNode* tree){ if (tree == NULL) return; TreeNode* treeleft = tree->getleft(); TreeNode* treeright = tree->getright(); if (treeleft !=原创 2015-04-11 17:18:45 · 254 阅读 · 0 评论 -
3-31:还原二叉树
问题:还原二叉树(1)根据一个二叉树的前序遍历和中序遍历还原二叉树。 (2)根据一个二叉树的后序遍历和中序遍历还原二叉树。#include<iostream>#include<list>using namespace std;typedef list<int>::iterator index;class TreeNode{public: TreeNode(i原创 2015-04-11 11:39:26 · 329 阅读 · 0 评论 -
4-08:判断子树
问题:判断子树给定两颗二叉树A,B,判断A是否是B的子结构。bool issubtree(TreeNode* bigtree, TreeNode* smalltree){ if (smalltree == NULL) return true; if (bigtree == NULL) return false; if (bigtree->g原创 2015-04-11 11:30:51 · 233 阅读 · 0 评论 -
3-30:调整数组顺序使奇数位于偶数前面
问题:调整数组顺序使奇数位于偶数前面(1)输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 (2)考虑设计一个模式解决同类问题。void swap(int &a, int &b){ int c = a; a = b; b = c;}bool iseven(int integer){ ret原创 2015-04-11 11:43:00 · 256 阅读 · 0 评论 -
4-11:丑数
问题:丑数我们把只包含因子2,3,5的数成为丑数,求按从小到大顺序的第1500个丑数丑数如:1,2,3,4,5,6,8int min(int num1, int num2, int num3){ int min = (num1 < num2) ? num1 : num2; min = (min < num3) ? min : num3; return min;}int原创 2015-04-16 11:56:51 · 315 阅读 · 0 评论 -
4-13:链表的公共节点
问题:链表的公共节点输入两个链表,找出他们的第一个公共节点。ilistnode* findcommon(ilistnode* list1, ilistnode* list2){ ilistnode* templist1 = list1; ilistnode* templist2 = list2; if (list1 == NULL || list2 == NULL)原创 2015-04-16 11:58:01 · 322 阅读 · 0 评论