每周算法—篇五:输入一个链表的头结点,从尾到头反过来打印出每个结点的值

从尾到头打印链表

题:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。链表结点定义如下:

1
2
3
4
5
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
}

阅读全文

每周算法—篇四:实现一个函数,把字符串中的每个空格替换成"%20"

题:实现一个函数,把字符串中的每个空格替换成”%20”。例如:”We are family.”,则输出 “We%20are%20family.”。

扩展:

在网络编程中,如果URL参数中含有特殊字符,如空格、’#’等,则可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转成服务器可以识别的字符。转换的规则是在’%’后面跟上ASCII码的两位十六进制的表示。比如空格的ASCII码是32,即十六进制的0x20,因此空格被替换成’%20’;再比如’#’的ASCII码为35,即十六进制的0x23,它在URL中被替换为’%23’。

阅读全文

每周算法—篇三:判断数组中是否含有某个整数

题:在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。判断数组中是否含有某个整数

分析:

二维数组。而且数组的排列顺序也给了规定:每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。

阅读全文

每周算法—篇二:找出数组中重复的数字

找出数组中重复的数字

描述:

在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如:如果输入长度为 7 的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。

阅读全文

每周算法—篇一:找出有序数组中和等于指定数的两个数

题:找出有序数组中和等于指定数的两个数

分析:

数组是有序的;数组中可能存在两个数相加的和等于给定的值,找出这两个数,如果没有提示。

阅读全文

隐私协议

本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。但本软件将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本软件不会将这些信息对外披露或向第三方提供。本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本软件服务使用协议不可分割的一部分。

阅读全文

算法七:二叉树遍历

阅读全文

算法六:K最近邻算法

阅读全文

算法五:迪克特斯拉算法

阅读全文

算法四:广度优先搜索和深度优先搜索

阅读全文