题目6 第一次只出现一次的字符 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)。 题目解析 只要这种问题,就可以想到…
《剑指Offer》题目解析(8)
题目1 数组中出现次数超过一半的数字 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如…
腾讯C++后台一面面经(基本凉凉~)
今天在健身的时候,正跑着步,气喘吁吁的,突然接到了来自腾讯的电话,就知道是面试。腾讯已经在实习生招聘捞了我两个星期了,这次终于捞起了我。 不过终于体会到跑步大脑缺氧的感觉了,真的是问题都很熟悉,但是都没答上来,所以肯定就挂了。 因为我不是计…
《剑指Offer》题目解析(7)
题目6 二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两 个数字都互不相同。 题目解析 我们以后序遍历序列{5,7,6,9,11,1…
《剑指Offer》题目解析(6)
题目1 二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 题目解析 一定要考虑到两种特殊情况: 二叉树为空 二叉树的左子树为空且二叉树的右子树为空 设计代码的时候一定要考虑代码的鲁棒性。所以需要设计到两个if语句,如果不…
常用排序算法复杂度和稳定性情况总结
排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 稳定性 冒泡排序 O(n2) O(n) O(n2) O(1) 稳定 选择排序 O(n2) O(n2) O(n2) O(1) 不稳定 插入排序 O(n2) O(n) O(n2) O(1…
《剑指Offer》题目解析(5)
题目7 链表倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点。 题目解析 我们很容易可以想到,由于这是一个单向链表,所以我们可以第一遍先遍历这个链表,看有多少个结点(假设为n),然后计算出pos=n-k+1,然后我们只需要…