E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
剑指Offer面试题
剑指offer面试题
3—二维数组中的查找
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。//二维数组中的查找#includeboolfind(int*matrix,introws,intcolumns,intnumber){boolfound=false;if(matrix!=NULL&&rows>0&&col
computer_study
·
2016-03-30 17:31
剑指offer
剑指offer面试题
10—二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表中1的个数。例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2。思路:如果二进制位中有一位是1,那么与1与即可返回真值。那么有两种方式统计二进制表1的个数。一种方式是将输入的整数右移,每个位上的数逐个和1与。但是这种方式在输入负数的时候会造成死循环,因为负数在计算机中是以补码的形式存在的,负数右移要在左边补1,所以最后所有的
moses1213
·
2016-03-26 20:00
剑指offer:17 合并两个排序的链表
剑指offer面试题
17:“题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图3.7中的链表1和链表2,则合并之后的升序链表如链表3所示。
tubin100
·
2016-03-16 21:00
c
链表
面试题
合并
剑指offer面试题
7——用两个栈实现队列
packageoffer7; importcommon.Stack; /** *用两个栈实现一个队列 *@authorchibozhou */ publicclassQueue{ //队列当前大小 privateintcurSize; //队列最大容量 privateintmaxSize; //两个栈 privateStackstack1; privateStackstack2; /**
u010425776
·
2016-03-05 18:00
java
算法
剑指offer
2015 去哪儿校招---字符串中第一个重复的字符
测试样例:"qywyer23tdd",11返回:y与
剑指offer面试题
中第35类似。但是有区别,那个是求第一个指只出现一次的字符,但是这个题目是求第一次重复的字符。求:第一个指只出现一次的字符。
u010339647
·
2016-03-01 17:00
剑指offer面试题
21-30
面试题21:包含min函数的栈 importjava.util.Stack; publicclassSolution{ privateStackstack=newStack(); privateStackminStack=newStack(); publicvoidpush(intnode){ if(minStack.isEmpty()||node0){ inti=0,j=0;
岳阳楼
·
2016-02-14 13:40
剑指offer面试题
1-10
面试题3:二维数组中的查找 publicclassSolution{ publicbooleanFind(int[][]array,inttarget){ booleanisFound=false; intm=array.length; intn=array[0].length; if(m>0&&n>0){ introw=0; intcol=n-1; while(row=0){
岳阳楼
·
2016-02-14 13:39
剑指offer面试题
11-20
面试题11:数值的整数次方 publicclassSolution{ publicdoublePower(doublebase,intexponent){ if(exponent==0) return1.0; if(exponent==1) returnbase; doubleres=Power(base,exponent/2); booleanisNeg=false;
岳阳楼
·
2016-02-14 13:39
利用两个栈模拟一个队列
剑指offer面试题
系列 /** * 用两个栈实现一个队列 功能:基本入队出队 * */ package com.study; class MyStack { private static
·
2015-11-11 00:42
队列
求旋转数组的最小数字
剑指offer面试题
系列 package com.study; /* * 求旋转数组的最小数字 * 设定:输入递增排序数组的一个旋转 * 要求返回最小的数 * */ public class
·
2015-11-11 00:42
数组
算法(二)
package com.study; /* *
剑指offer面试题
:替换字符串中的空格为%20 * */ public class suanfa2 { private static
·
2015-11-11 00:38
算法
剑指offer面试题
67:机器人的运动范围
这道题又是一道回溯算法的问题。关于回溯算法,并不是特别擅长,这道题真的是不错的练手题目。可以通过这道题更加深刻的理解下回溯算法是怎么回事。 这道题一开始有几个疑惑的地方,就是回溯的时候怎么处理有的点进行了多次递归的问题。答案之中用了一个动态数组就轻松解决了这个问题。 这道题可以用四个函数来解决这个问题。 看完书上的内容,代码成功的默写出来了。代码如下: //函数入口。 int Movi
·
2015-11-08 10:44
面试题
剑指offer面试题
9——矩形框覆盖(递归改循环,斐波那契数列)
题目1390:矩形覆盖 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1636 解决:1040 题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 输入: 输入可能包含多个测试样例,
·
2015-10-30 13:08
面试题
剑指offer面试题
9——变态跳台阶
题目1389:变态跳台阶 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2296 解决:1308 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 输入: 输入可能包含多个测试样例,对于每个测试案例
·
2015-10-30 13:07
面试题
剑指offer面试题
8——旋转数组的最小数字
题目1386:旋转数组的最小数字 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6708 解决:1505 题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
·
2015-10-30 13:06
面试题
剑指offer面试题
7——用两个栈实现队列
题目1512:用两个栈实现队列 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:3000 解决:1010 题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。 输入: 每个输入文件包含一个测试样例。对于每个测试样例,第一行输入一个
·
2015-10-30 13:06
面试题
剑指offer面试题
6——重建二叉树(递归)
题目1385:重建二叉树 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4326 解决:1287 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉
·
2015-10-30 13:05
面试题
数值的整数次方(
剑指offer面试题
11)
实现函数 double Power(double base, int exponent),即乘方运算。 考虑问题 exponet < 0 , 可以转化为 1.0 / Power(base, -1 *exponent)——负数与正数同时处理 exponet < 0,并且base=0时,此时应该报错,因为此时0作为除数 Power(0, 0) = 1 Pow
·
2015-10-30 12:23
面试题
剑指Offer 面试题三:二维数组中的查找
剑指Offer面试题
三:二维数组中的查找 上面的地址是牛客网的这个题目的地址,有在线的编译器。 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
xiongxinlei
·
2015-10-13 10:00
算法
剑指Offer面试题
:35.将字符串转换为数字
一、题目:将字符串转换为数字题目:写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不能使用atoi或者其他类似的库函数。二、代码实现(1)考虑输入的字符串是否是NULL、空字符串(2)考虑输入的字符串是否包含正负号或者是否是只包含正负号(3)考虑输入的字符串是否会发生上溢或下溢(正整数的最大值是0x7FFFFFFF,最小的负整数是0x80000000)(4)考虑如何区分正常返回数
Edison Chou
·
2015-09-21 22:00
剑指Offer面试题
:34.翻转单词顺序VS左旋转字符串
一、题目一:翻转单词顺序1.1题目说明题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"Iamastudent.",则输出"student.aamI"。1.2解题思路第一步翻转句子中所有的字符。比如翻转"Iamastudent."中所有的字符得到".tnedutsamaI",此时不但翻转了句子中单词的顺序,连单词内的字符
Edison Chou
·
2015-09-21 00:00
剑指Offer面试题
:33.二叉树的深度
一、题目一:二叉树的深度1.1题目说明题目一:输入一棵二叉树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。例如下图中的二叉树的深度为4,因为它从根结点到叶结点最长的路径包含4个结点(从根结点1开始,经过结点2和结点5,最终到达叶结点7)。二叉树的结点定义如下,这里使用C#语言描述:publicclassBinaryTreeNode
Edison Chou
·
2015-09-20 14:00
剑指Offer面试题
:32.数字在排序数组中出现的次数
一、题目:数字在排序数组中出现的次数题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4。二、解题思路2.1直接运用二分查找既然输入的数组是排序的,那么我们很自然地就能想到用二分查找算法。在题目给出的例子中,我们可以先用二分查找算法找到一个3。由于3可能出现多次,因此我们找到的3的左右两边可能都有3,于是我们
Edison Chou
·
2015-09-20 11:00
剑指Offer面试题
:31.两个链表的第一个公共节点
一、题目:两个链表的第一个公共节点题目:输入两个链表,找出它们的第一个公共结点。链表结点定义如下,这里使用C#语言描述:publicclassNode { publicintkey; publicNodenextNode; publicNode(intkey) { this.key=key; } }二、解题思路2.1蛮力法碰到这道题,很多人的第一反应就是蛮力法:在第一链表上顺序
Edison Chou
·
2015-09-20 00:00
剑指Offer面试题
:30.第一个只出现一次的字符
一、题目:第一个只出现一次的字符题目:在字符串中找出第一个只出现一次的字符。如输入"abaccdeff",则输出'b'。要求时间复杂度为O(n)。最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路的时间复杂度是O(
Edison Chou
·
2015-09-14 23:00
剑指Offer面试题
:29.丑数
一、题目:丑数题目:我们把只包含因子2、3和5的数称作丑数(UglyNumber)。求按从小到大的顺序的第1500个丑数。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做第一个丑数。二、两种解决方案2.1一一遍历法:时间效率低下使用遍历法求第k个丑数,从1开始遍历,如果是丑数则count++,直到count=k为止。那么如何判断丑数呢?根据丑数的定义,丑数只有2,3,5这三个因
Edison Chou
·
2015-09-13 16:00
剑指Offer面试题
:28.连续子数组的最大和
一、题目:连续子数组的最大和题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},因此输出为该子数组的和18。这个题目在我去年参加校园招聘时,某公司的二面采用了机试,而题目刚好就是这道题。一般看到这道题目就会想
Edison Chou
·
2015-09-13 12:00
剑指Offer面试题
:27.最小的k个数
一、题目:最小的k个数题目:输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。这道题是典型的TopK问题,其最简单的思路莫过于把输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数。这种思路的时间复杂度是O(nlogn),但是面试官会要求时间复杂度保持在O(n)。二、解题思路2.1需要修改数据源的O(n)解法基于快速排
Edison Chou
·
2015-09-11 00:00
剑指Offer面试题
:26.字符串的排列
一、题目:字符串的排列题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。二、解题思路2.1核心步骤我们可以把一个字符串看成由两部分组成:第一部分为它的第一个字符,第二部分是后面的所有字符。在下图中,我们用两种不同的背景颜色区分字符串的两部分。Step1.把字符串分为两部分,一部
Edison Chou
·
2015-09-09 23:00
剑指Offer面试题
:25.二叉搜索树与双向链表
一、题目:二叉搜索树与双向链表题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。比如输入下图中左边的二叉搜索树,则输出转换之后的排序双向链表。二叉搜索树的节点定义如下,这里使用C#语言描述:publicclassBinaryTreeNode { publicintData{get;set;} publicBinaryTre
Edison Chou
·
2015-09-09 00:00
剑指Offer面试题
:24.复杂链表的复制
一、题目:复杂链表的复制题目:请实现函数ComplexListNodeClone(ComplexListNodehead),复制一个复杂链表。在复杂链表中,每个结点除了有一个Next指针指向下一个结点外,还有一个Sibling指向链表中的任意结点或者NULL。结点的定义如下,采用C#语言描述:publicclassComplexListNode { publicintData{get;set;
Edison Chou
·
2015-09-07 23:00
剑指Offer面试题
:23.二叉树中和为某一值的路径
一、题目:二叉树中和为某一值的路径题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。例如输入下图中二叉树和整数22,则打印出两条路径,第一条路径包含结点10、12,第二条路径包含结点10、5和7。二叉树结点的定义如下:publicclassBinaryTreeNode { publicintData{get;
Edison Chou
·
2015-09-06 23:00
剑指Offer面试题
:22.二叉搜索树的后序遍历序列
一、题目:二叉搜索树的后序遍历序列题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。例如在下面的一颗二叉搜索树中,输入数组{5,7,6,9,11,10,8},则返回true,因为这个整数序列是下图二叉搜索树的后序遍历结果。如果输入的数组是{7,4,6,5},由于没有哪棵二叉搜索树的后序遍历的结果是
Edison Chou
·
2015-09-04 00:00
剑指Offer面试题
:21.从上到下打印二叉树
一、题目:从上到下打印二叉树题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入下图中的二叉树,则依次打印出8、6、10、5、7、9、11。二叉树节点的定义如下,采用C#语言描述:publicclassBinaryTreeNode { publicintData{get;set;} publicBinaryTreeNodeleftChild{get;set;}
Edison Chou
·
2015-09-03 10:00
剑指Offer面试题
:20.栈的压入、弹出序列
一、题目:栈的压入、弹出序列题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的一个弹出序列,但4、3、5、1、2就不可能是该压栈序列的弹出序列。二、解题思路2.1核心步骤正确的弹出序列不正确的弹出序列通过分析以上序列,可以得出:如果下一个弹出的数
Edison Chou
·
2015-09-03 00:00
剑指Offer面试题
:19.包含Min函数的栈
一、题目:包含Min函数的栈题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。这里我们要实现的就是min、push以及pop三个方法:publicclassMinInStackwhereT:struct { privateStackdataStack; privateStackminStack;
Edison Chou
·
2015-09-02 00:00
剑指Offer面试题
2:替换空格
如书中介绍实现#include usingnamespacestd; voidreplaceblank(charsentence[],intlength,intorilen,intblalen) { if(sentence==NULL||lengthlength) return; while(p1!=p2) { if(sentence[p1]!='') sentence[p2--]=sentenc
charwing
·
2015-09-01 10:00
面试题
剑指offer
剑指Offer面试题
3:二维数组中的查找
书中实现的是从右上角找起的算法,而我是从左下角找起的。如果比左下角数大,则所查找的数都在左下角右边三列内;否则,在左下角上面那三行里。#include usingnamespacestd; #defineROW4 #defineCOLOMN4 boolfindnum(intmatrix[][COLOMN],introw,intcolomn,intnum)//二维数据作为参数传递时,一定要给出第二
charwing
·
2015-09-01 10:00
二维数组
面试题
剑指offer
剑指Offer面试题
:18.二叉树的镜像
一、题目:二叉树的镜像题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如下图所示,左图是原二叉树,而右图则是该二叉树的镜像。该二叉树节点的定义如下,采用C#语言描述:publicclassBinaryTreeNode { publicintData{get;set;} publicBinaryTreeNodeleftChild{get;set;} publicBinaryTre
Edison Chou
·
2015-08-31 23:00
剑指offer面试题
40-数组中只出现一次的数字
题目:一个整形数组里除了两个数字意外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是On,空间复杂度为O1这个是上一篇 2016阿里巴巴java笔试题 的增强版...还是使用异或,异或到了最后得到结果是怎么样的呢?其余的数字都互相异或变成了0,所以最后的结果就是这2个不相同的数字的异或结果.就假定要找的两个数字为数字A和数字B那么怎么分别得到这2个数字呢?异或:1^1
q291611265
·
2015-08-31 13:00
位运算
异或
数组
剑指Offer面试题
:17.树的子结构
一、题目:树的子结构题目:输入两棵二叉树A和B,判断B是不是A的子结构。例如下图中的两棵二叉树,由于A中有一部分子树的结构和B是一样的,因此B是A的子结构。该二叉树的节点定义如下,这里使用C#语言描述:publicclassBinaryTreeNode { publicintData{get;set;} publicBinaryTreeNodeleftChild{get;set;} pub
Edison Chou
·
2015-08-30 23:00
剑指Offer面试题
:16.合并两个排序的链表
PS:这也是一道出镜率极高的面试题,我相信很多童鞋都会很眼熟,就像于千万人之中遇见不期而遇的人,没有别的话可说,唯有轻轻地问一声:“哦,原来你也在这里?”一、题目:合并两个排序的链表题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入下图中的链表1和链表2,则合并之后的升序链表如链表3所示。链表结点定义如下,使用C#描述:publicclassNode {
Edison Chou
·
2015-08-30 20:00
剑指offer面试题
29-数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5此,超过数组长度的一半,因此输出2分析:因为是这个数出现的次数比其他数出现次数的总和还多,所以可以考虑用栈做,用来两两抵消.如果碰到一样的,则加上,如果碰到与栈的末尾不一样,则弹出一个(抵消).这样到了最后,剩下的栈的最后一个肯定还是那个超
q291611265
·
2015-08-30 16:00
数组
栈
剑指Offer面试题
:15.反转链表
一、题目:反转链表题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。链表结点定义如下,这里使用的是C#描述:publicclassNode { publicintData{get;set;} //指向后一个节点 publicNodeNext{get;set;} publicNode(intdata) { this.Data=data; } pu
Edison Chou
·
2015-08-29 20:00
剑指Offer面试题
:14.链表的倒数第k个节点
PS:这是一道出境率极高的题目,记得去年参加校园招聘时我看到了3次,但是每次写的都不完善。一、题目:链表的倒数第k个节点题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。链表的节点定义如下,这里使用的是C#来定义:
Edison Chou
·
2015-08-29 15:00
剑指Offer面试题
:13.调整数组顺序使奇数位于偶数前面
一、题目:调整数组顺序使奇数位于偶数前面题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。例如有以下一个整数数组:12345,经过调整后可以为:15342、13542、13524等等。二、解题思路2.1基本解法如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有数
Edison Chou
·
2015-08-29 13:00
剑指Offer面试题
:12.在O(1)时间删除链表结点
一、题目:在O(1)时间删除链表结点题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。原文采用的是C/C++,这里采用C#,节点定义如下:publicclassNode { //数据域 publicTItem{get;set;} //指针域 publicNodeNext{get;set;} publicNode() { } publicNod
Edison Chou
·
2015-08-28 00:00
剑指Offer面试题
:11.打印1到最大的n位数
一、题目:打印1到最大的n位数题目:输入数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。二、不同的解法2.1不假思索的解法最容易想到的办法是先求出最大的n位数,然后用一个循环从1开始逐个打印:staticvoidPrint1ToMaxOfNDigitsSimple(intn) { intnumber=1; inti=0; while
Edison Chou
·
2015-08-27 00:00
剑指offer面试题
28-字符串的排列
题目:/***输入一个字符串,打印出该字符串中字符的所有排列。*例如输入字符串abc,则打印出由字符串abc所能排列出来的所有字符串abc,acb,bca,cab和cba。**/这里用递归比较好:第一个是a,那么剩下的就问bc的排列有多少种第一个是b,剩下的问ac第一个是c,剩下的问ab那么方法就有了:当前这个数分别与他后面的数交换位置,然后求后面的有多少中排列。代码:packagecom.aii
q291611265
·
2015-08-25 17:00
字符串
排列
剑指offer面试题
27-二叉搜索树转双向链表
题目:/***输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。*要求不能创建任何新的节点,只能调整树中节点指针的指向。* **/然后基本要实现的功能就是这样子的:怎么实现呢?看着像递归,就拿根节点来看:我要做两件事情:1.拿到左边树的最大的,让root.left=max,max.right=root2.拿到右边树的最小的,让root.right=min,min.left=root所以就
q291611265
·
2015-08-25 17:00
递归
链表
二叉搜索树
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他