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面试题
33(java版):二叉搜索树的后续遍历
welcometomyblog
剑指offer面试题
33(java版):二叉搜索树的后续遍历题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。
littlehaes
·
2020-08-04 15:48
剑指offer
剑指offer
剑指offer面试题
24:二叉搜索树的后续遍历序列 Java实现
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同例如:输入数组{5,7,6,9,11,10,8},则经判断是二叉搜索树,返回true;如果输入数组{7,4,6,5},则经判断不是二叉搜索树,返回false。8/\610/\/\57911二叉搜索树定义:一个二叉树,它的每个节点都不比它左子树的任意元
安心写代码吧
·
2020-08-04 14:44
面试题
算法
源程序
剑指offer面试题
1-10
剑指offer面试题
1:赋值运算符函数、为如下CMyString类型添加赋值运算符函数#include#include//为下列函数添加赋值运算符函数classCMyString{public:CMyString
进击的小阿鲲
·
2020-08-04 12:31
剑指offer
c++
剑指offer面试题
46:把数字翻译成字符串(Java 实现)
题目:给定一个数字,按照如下规则翻译成字符串:0翻译成“a”,1翻译成“b”…25翻译成“z”。一个数字有多种翻译可能,例如12258一共有5种,分别是bccfi,bwfi,bczi,mcfi,mzi。实现一个函数,用来计算一个数字有多少种不同的翻译方法。测试用例:功能测试:输入的数字只有一位或者多位。边界测试:输入包含25、26的数字。负面测试:输入负数或者0。思路:利用递归的思想分析,用动态规
不止于代码
·
2020-08-04 06:06
剑指offer
动态规划---
剑指offer面试题
46--把数字翻译成字符串
题目给定一个数字,按照如下规则翻译成字符串:0->a1->b...25->z因此一个数字可能有多种翻译。例如,12258有5种不同的翻译,bccfi,bwfi,bczi,mcfi,mzi。请实现一个函数,计算数字有多少种翻译方法。思路可以用递归解决,会发现子问题25858都重复了。自然想到可以用动态规划来解决,用f(i)来表示从第i位数字开始不同的翻译数目,我们可以写出递推关系g(i,i+1)表示
虚心学习进步
·
2020-08-03 22:48
算法篇
剑指offer
动态规划
剑指offer面试题
46(java版):把数字翻译成字符串
welcometomyblog
剑指offer面试题
46(java版):把数字翻译成字符串题目描述给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成“a”,1翻译成“b”,……,11翻译成“l”,…
littlehaes
·
2020-08-03 19:55
剑指offer
算法
剑指offer
算法
动态规划
java
剑指offer面试题
-判断链表是否带环并求环的入口点和环的长度
题目:输入一个链表的头节点,判断链表是否带环,若带环,求环的入口点,和环的长度。判断链表是否带环思路:设置两个指针(fast,slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先到尾部的NULL指针,则为链表无环)实现代码ListNode*IsCirle(ListNode*pHead
Hyacinth_Dy
·
2020-08-03 18:52
面试题
剑指Offer面试题
25(Java版):二叉树中和为某一值的路径
题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶结点所经过的所有的结点形成一条路径。如下图,输入二叉树和整数22,则打印出两条路径,第一条路径包含结点10,12,第二条路径包含的结点为10,5,7.一般的数据结构和算法的教材都没有介绍树的路径,因此对大多数应聘者而言,这是一个新概念,也就很难一下子想出完整的解题思路。这个时候我们可以试着从一
互联网极客
·
2020-08-03 18:35
剑指offer(Java版)
Leetcode链表专题
Leetcode链表专题Python与C链表操作对比Leetcode21-
剑指OFFER面试题
25合并两个有序的链表思路分析代码Leetcode206ReverseLinkedList
剑指OFFER面试题
三笔竹林
·
2020-08-02 19:27
Leetcode
剑指Offer面试题
-45 把数组排成最小的数(自定义排序)
题目描述输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例1:输入:[10,2]输出:"102"示例2:输入:[3,30,34,5,9]输出:"3033459"提示:0(){@Overridepublicintcompare(Strings1,Strings2){intlen=s1.length()+s2.length();for(inti=0;ic
Erekilu
·
2020-08-02 15:07
算法
剑指Offer面试题
-41 数据流中的中位数(中位数、堆)
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4]的中位数是3[2,3]的中位数是(2+3)/2=2.5设计一个支持以下两种操作的数据结构:voidaddNum(intnum)-从数据流中添加一个整数到数据结构中。doublefindM
Erekilu
·
2020-08-02 15:36
算法
剑指Offer面试题
-39 数组中出现次数超过一半的数(哈希记录、正负抵消)
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[1,2,3,2,2,2,5,4,2]输出:2限制:1map=newHashMaphalfLength){returnnum;}}return0;//这里随便写,因为输入默认合法,所以不可能执行到这一步}}时间复杂度:O(N)O(N)O(N)。NNN为数组长度
Erekilu
·
2020-08-02 15:36
算法
剑指offer面试题
【56】----数组中数字出现的次数
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。代码实现#-*-coding:utf-8-*-classSolution:#返回[a,b]其中ab是出现一次的两个数字defFindNumsAppearOnce(self,array):#writecodeheretemp=[]forainarray:ifaintemp:temp.remove(a)
poppy_MCT
·
2020-08-02 14:54
python基础
剑指offer
剑指offer面试题
【14】----剪绳子【Python】【动态规划】【贪婪算法】
题目描述给你一根长度为n的绳子,请把绳子剪成m段(m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]*k[1]*...*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18.代码实现动态规划解法按照从下而上的顺序计算,先得到f(2),f(3),再计算f(4),f(5),f(n)=
poppy_MCT
·
2020-08-02 12:26
python基础
剑指offer
Leetcode 剑指 Offer 04 二维数组中的查找
剑指offer面试题
4中的解答方法.P.S.需要对二维数组进行判断力扣里输入的是一个二维数组,因此在找二维数组里数值时应该用matrix[i][j]的格式这里的*matrixColSize是因为在定义matrix
ZhangD. Y.
·
2020-08-01 14:55
c语言
leetcode
算法
编程之旅-Day9
目录Day9-学习内容:1.
剑指Offer面试题
14:剪绳子面试题24:反转链表2.Leetcode例1:给n个孩子分糖果,满足下列条件时求最少分发的糖果数。例2:求二叉树的后序遍历。
linyuhan3232
·
2020-08-01 13:54
算法
编程
计算机
数据结构
剑指offer面试题
16:反转链表——递归和非递归
题目:定义一个函数,输入一个链表的头结点(第一个数据结点),反转该链表并输出反转后的链表的头结点。链表的定义如下:structListNode{intm_nValue;ListNode*m_pNext;};非递归方法ListNode*ReverseList1(ListNode*pHead){//pReverseHead代表逆转之后的头结点ListNode*pReverseHead=NULL;//p
yishizuofei
·
2020-08-01 08:33
笔试面试
剑指offer面试题
24:反转链表(Java 实现)
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。链表结点如下:publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=val;}}思路:直接遍历链表中的节点,把当前节点的指针指向前一个节点完成反转。在每一次反转之前都要先保存当前节点的下一个节点,不然会造成链表断裂,所以需要定义三个
不止于代码
·
2020-08-01 05:40
剑指offer
剑指offer面试题
25:合并两个排序的链表(Java 实现)
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。思路:分别遍历两个链表,每一个都比较两个链表的头结点,把小的那一个头结点放到一个新定义的链表中,因为每一个比较合并的过程都是一模一样的,所以可以使用递归来实现。这里要注意输入的链表为空的特殊情况。测试用例:1.功能测试:输入的两个链表有多个节点;节点的值互不相同或者存在值相等的多个节点。2.特殊测试:两个链表中只有
不止于代码
·
2020-08-01 05:40
剑指offer
剑指offer面试题
24:反转链表-java
题目:定义一个方法输入一个链表的头节点,反转该链表并输出反转后链表的头节点为了正确反转一个链表,需要调整链表每个节点对下一个节点的指向。思路:(1)把当前节点的下一个节点保存起来当前节点的next指向它前一个节点之前要把它的后一个节点保存起来。因为后一个节点只能通过当前节点的next找到,如果不提前保存起来,当前节点的next指向它的前一个节点后,它后面的节点将失去引用找不到了。(2)判断是否达到
若轩萧风
·
2020-08-01 02:50
剑指offer
剑指offer面试题
25:合并两个排序的链表(Java实现)
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点依然时递增排序的。例如:输入如图所示的链表1和链表2,则合并之后的升序链表如图3所示。链表的定义如下:classListNode{intvalue;ListNodenext;ListNode(intvalue){this.value=value;}}直接上代码:publicclasssortArrayByOddEven{publicst
Csz❤️Fsj
·
2020-07-31 23:03
剑指offer
剑指Offer面试题
17(Java版):合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图中的链表1和链表2,则合并之后的升序链表3所示。这是一个经常被各公司采用的面试题。在面试过程中,我们发现应聘者最容易犯两个错误:一是在写代码之前没有对合并的过程想清楚,最终合并出来的链表要么中间断开要么并没有递增排序;二是代码的鲁棒性方面存在问题,程序一旦有特殊的输入(如空链表)就会崩溃。接下来分析如何解
互联网极客
·
2020-07-31 18:19
剑指offer(Java版)
剑指offer面试题
24:反转链表
题目:定义一个函数,输入一个链表的头节点,反转该链表并输入反转后链表的头节点。AC代码如下:#includeusingnamespacestd;structListNode{intval;structListNode*next;ListNode(intx):val(x),next(NULL){}};classSolution{public:ListNode*ReverseList(ListNode
grace_fang
·
2020-07-31 17:20
剑指offer解题报告
c/c++
剑指Offer面试题
21 & Leetcode155
剑指Offer面试题
21&Leetcode155MinStack 包含min函数的栈Designastackthatsupportspush,pop,top,andretrievingtheminimumelementinconstanttime.push
CannotGotoAnyWhere
·
2020-07-30 17:38
剑指offer-java实现
leetcode-java
剑指Offer面试题
19 & Leetcode226
剑指Offer面试题
19&Leetcode226InvertBinaryTree 二叉树的镜像Invertabinarytree.解题思路 考虑:求一棵树的镜像的过程:先前序遍历这棵树的每个节点,如果遍历到的节点有子节点
CannotGotoAnyWhere
·
2020-07-30 17:38
剑指offer-java实现
leetcode-java
剑指Offer面试题
6 & Leetcode105
剑指Offer面试题
6&Leetcode105ConstructBinaryTreefromPreorderandInorderTraversal重建二叉树Givenpreorderandinordertraversalofatree
CannotGotoAnyWhere
·
2020-07-30 17:37
剑指offer-java实现
leetcode-java
剑指Offer面试题
10 & Leetcode191
剑指Offer面试题
10&Leetcode191Numberof1Bits 二进制中1的个数Writeafunctionthattakesanunsignedintegerandreturnsthenumberof
CannotGotoAnyWhere
·
2020-07-30 17:37
剑指offer-java实现
leetcode-java
剑指Offer面试题
9 & Leetcode70
剑指Offer面试题
9&Leetcode70ClimbingStairs 斐波那契数列Youareclimbingastaircase.Ittakesnstepstoreachtothetop.Eachtimeyoucaneitherclimb1or2steps.Inhowmanydistinctwayscanyouclimbtothetop
CannotGotoAnyWhere
·
2020-07-30 17:37
剑指offer-java实现
leetcode-java
剑指Offer面试题
18 & Leetcode572
剑指Offer面试题
18&Leetcode572SubtreeofAnotherTree 树的子结构Giventwonon-emptybinarytreessandt,checkwhethertreethasexactlythesamestructureandnodevalueswithasubtreeofs.Asubtreeofsisatreeconsistsofanodeinsandallo
CannotGotoAnyWhere
·
2020-07-30 17:37
剑指offer-java实现
leetcode-java
剑指Offer面试题
11 & Leetcode50
剑指Offer面试题
11&Leetcode50Pow(x,n) 数值的整数次方Implementpow(x,n).解题思路 考虑:这个题的难点在于处理各种极端输入,例如指数为0,指数为负等,需要考虑全面
CannotGotoAnyWhere
·
2020-07-30 13:44
剑指offer-java实现
leetcode-java
C++版 -
剑指offer面试题
28: 字符串的排列
题目:字符串的排列热度指数:5777时间限制:1秒空间限制:32768K本题知识点:字符串题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。结果请按字母顺序输出。输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能
大白技术控
·
2020-07-30 06:14
剑指offer解题报告
数据结构与算法的C++实现
剑指offer面试题
38:字符串的排列(Java 实现)
题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。结果请按字母顺序输出。思路:第一步求所有可能出现在第一个位置的字符,固定第一个字符,然后遍历后面的所有字符和它交换;第二步求所有可能出现在第二个位置的字符,固定第二个字符,然后遍历后面所有字符与它交换;第三步。。。同样,很明显这
不止于代码
·
2020-07-30 04:38
剑指offer
剑指offer面试题
37:序列化二叉树(Java 实现)
题目:请实现两个函数,分别用来序列化和反序列化二叉树。思路:序列化:用前序遍历的方法递归遍历二叉树,将遍历到的元素添加到数组字符串中,如果遇到空格就往字符串中添加字符“$”,每一个字符用逗号隔开;反序列化:先利用正则表达式把字符串中的逗号去掉,然后遍历字符串,如果遍历到的不是字符“$”,就用它来构造二叉树的根节点,然后用递归的方式同样构造二叉树的左子树和右子树。测试用例:功能测试:完全二叉树;所有
不止于代码
·
2020-07-30 04:38
剑指offer
剑指offer面试题
28-字符串的排列
题目:/***输入一个字符串,打印出该字符串中字符的所有排列。*例如输入字符串abc,则打印出由字符串abc所能排列出来的所有字符串abc,acb,bca,cab和cba。**/这里用递归比较好:第一个是a,那么剩下的就问bc的排列有多少种第一个是b,剩下的问ac第一个是c,剩下的问ab那么方法就有了:当前这个数分别与他后面的数交换位置,然后求后面的有多少中排列。代码:packagecom.aii
翁英健啊
·
2020-07-29 21:31
数据结构
算法题解-java
剑指offer面试题
38(java版):字符串的排列
welcometomyblog
剑指offer面试题
38(java版):字符串的排列题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。
littlehaes
·
2020-07-29 20:06
剑指offer
剑指offer
剑指offer面试题
37(java版):序列化二叉树
welcometomyblog
剑指offer面试题
37(java版):序列化二叉树题目描述请实现两个函数,分别用来序列化和反序列化二叉树第四次做;核心:1)二叉树的遍历2)保留结构信息:左右孩子,空节点
littlehaes
·
2020-07-29 20:06
剑指offer
剑指offer
剑指Offer面试题
62:序列化二叉树
题目:序列化二叉树请实现两个函数,分别用来序列化和反序列化二叉树。算法分析:通过分析解决前面的面试题6.我们知道可以从前序遍历和中序遍历构造出一棵二叉树。受此启发,我们可以先把一棵二叉树序列化成一个前序遍历序列和一个中序序列,然后再反序列化时通过这两个序列重构出原二叉树。这个思路有两个缺点。一个缺点是该方法要求二叉树中不能用有数值重复的结点。另外只有当两个序列中所有数据都读出后才能开始反序列化。如
安心写代码吧
·
2020-07-29 18:49
剑指Offer
面试题
算法
剑指Offer面试题
37:序列化二叉树
题目描述请实现两个函数,分别用来序列化和反序列化二叉树解题思路:1.对于序列化:使用前序遍历,递归的将二叉树的值转化为字符,并且在每次二叉树的结点不为空时,在转化val所得的字符之后添加一个','作为分割。对于空节点则以'#'代替。2.对于反序列化:按照前序顺序,递归的使用字符串中的字符创建一个二叉树(特别注意:在递归时,递归函数的参数一定要是char**,这样才能保证每次递归后指向字符串的指针会
freeygh
·
2020-07-29 18:13
菜鸟通关剑指Offer
剑指Offer面试题
38:字符串的排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路:字符串的全排列问题,首先想到的是递归实现。在刷LeetCode的时候是数字的全排列,当时有一种解法是基于交换的方法实现的。递归法
freeygh
·
2020-07-29 18:13
菜鸟通关剑指Offer
剑指Offer面试题
37
这题的难点在于理解单链表中如果有第一个公共节点,那么其后的所有节点都重合。/*publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=val;}}*/publicclassSolution{publicListNodeFindFirstCommonNode(ListNodepHead1,ListNodepHead
chengyunyi123
·
2020-07-29 17:21
剑指Offer算法题
算法
剑指offer面试题
4:字符串替换——原地从后往前替换
1.题目字符串替换要求:将所有字符串中的空格换成%20,如“howareyou”要换成"how%20are%20you"2.解法解法一:从前到后复制:时间复杂度为O(n^2)的解法,从前都后原地复制字符串,由于是原地复制,所以在计算好新字符串长度之后,从前到后复制就要求原字符串中有一个空格,空格后面的所有字符就要向后移动两位,时间复杂度过大,太麻烦解法二:从后到前复制,时间复杂度为O(n)这个方法
MaxineZhou
·
2020-07-29 15:49
剑指offer
算法
剑指Offer面试题
:序列化二叉树
序列化二叉树题目描述请实现两个函数,分别用来序列化和反序列化二叉树分析序列化:将对象的信息/状态转换为可以存储的方式反序列化:将存储的信息转换为对象对本题来说就是将多维的二叉树转换为一维数组,以及提取一维数组信息还原二叉树的过程序列化很简单,对于空节点使用$符号代替,将树分为根节点、左子树、右子树递归遍历(前序)加入数组反序列化也是同样递归处理classTreeNode{intval=0;Tree
Mi4o
·
2020-07-29 15:05
剑指Offer面试题
剑指offer面试题
38:字符串的排列
categories:[计算机通识,数据结构与算法,剑指offer系列]thumbnail:/images/fe/offer.jpgtoc:true
剑指offer面试题
38:字符串的排列题目描述输入一个字符串
Aurora-zxh
·
2020-07-29 14:21
剑指offer面试题
37:序列化二叉树
categories:[计算机通识,数据结构与算法,剑指offer系列]thumbnail:/images/fe/offer.jpgtoc:true
剑指offer面试题
37:序列化二叉树请实现两个函数,
Aurora-zxh
·
2020-07-29 14:21
剑指offer面试题
【55.2】----平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。代码实现#-*-coding:utf-8-*-#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=NoneclassSolution:defIsBalanced_Solution(self,pRoot):#writecodehereifnotpRoo
poppy_MCT
·
2020-07-28 21:50
python基础
剑指offer
剑指offer面试题
51:数组中的逆序对(Java 实现)
题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数例如在数组{7,5,6,4}中,一共存在5对逆序对,分别是{7,6},{7,5},{7,4},{6,4},{5,4}。测试用例:功能测试:输入未经排序的数组;递增排序的数组;递减排序的数组;输入的数组包含重复的数字。边界测试:输入的数组只有两个数字;输入的数组只有一个数字。
不止于代码
·
2020-07-28 20:52
剑指offer
剑指offer面试题
32 - III. 从上到下打印二叉树 III(二叉树)(BFS)
题目描述请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。思路详见链接代码classSolution:deflevelOrder(self,root:TreeNode)->List[List[int]]:ifnotroot:return[]res,queue=[],collections.deque
程旭员
·
2020-07-28 20:48
剑指offer
从上到下打印二叉树
二叉树
剑指offer
python
LeetCode——
剑指Offer面试题
32(JAVA)
/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(intx){val=x;}*}*/classSolution{List>list;publicList>levelOrder(TreeNoderoot){list=newArrayList());}
Rabbit_Sir
·
2020-07-28 10:21
LeetCode
剑指offer 48: 最长不含重复字符的子字符串
*Filename:*Author:ZhangPeng*Date:*Version:*Description:
剑指offer面试题
48最长不含重复字符的子字符串**/#includeusingnamespacestd
FromBen
·
2020-07-28 07:11
刷题
LeetCode之
剑指Offer面试题
40. 最小的k个数
输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例1:输入:arr=[3,2,1],k=2输出:[1,2]或者[2,1]示例2:输入:arr=[0,1,2,1],k=1输出:[0]限制:0=0){ heapify(nums,startHeapify--); } } //维护大顶堆的函数,和当
Java学习之旅
·
2020-07-28 03:34
LeetCode
算法
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他