剑指offer
VitowithoutHair
这个作者很懒,什么都没留下…
展开
-
剑指offer--整数中1出现的次数
找规律问题:分析1~任意数中各个位出现1的情况:1~10:个位出现1的次数为 10^0;(只有1)1~100:十位出现1的次数为10^1;(10,11,12,…,19)1~1000: 百位出现1的次数为10^2;(100,101,…,199)…类推可得:1~n的个位出现1的次数为 n/1010^0;1~n的十位出现1的次数分为三种情况:a:n的十位上数字为0:此时1出现的总的次数为n/10010^1;举个例子,比如1~1200:十位上为1的只和它的高位(12)有关, 共有120个,(1原创 2020-05-13 20:15:18 · 124 阅读 · 0 评论 -
剑指offer-12 矩阵中的路径
#include <iostream>struct Pos//路径点坐标结构体{ int x_pos; int y_pos;};char theArray[3][4] = { 'a','b','t','g', 'c','f','c','s', 'j','d','e','h'};void location(char * target, Pos* path, int ...原创 2020-02-23 18:14:43 · 114 阅读 · 0 评论 -
剑指offer-7 根据中序遍历、前序遍历重建二叉树
解本题首先要明确中序遍历和前序遍历的定义,我们可以先根据前序遍历在中序遍历中找到根节点,然后位于中序遍历中根节点左边的就是此根节点对应的左子树,位于中序遍历中根节点右边的就是此根节点对应的右子树,由此产生递归的思路,每次先在前序遍历中找到根节点,然后在中序遍历中确定左子树和右子树,接着递归生成根节点的左子树和右子树即可:#include <iostream> struct BTN...原创 2020-02-19 13:05:04 · 157 阅读 · 0 评论