Leetcode及其他算法刷题记录 总目录

 

Leetcode视频题解地址  https://space.bilibili.com/18508846 

目前逐步添加视频题解中 欢迎大家点赞收藏 留言 投币 一键三连 hh

 

力扣难度分级评分  https://zerotrac.github.io/leetcode_problem_rating/#/

https://huxulm.github.io/lc-rating/#/zen

todo list 

Leetcode 93. 复原 IP 地址 dfs  50. Pow(x, n)    54. 螺旋矩阵 57. 插入区间 58. 最后一个单词的长度 60. 排列序列  66. 加一 67. 二进制求和 87. 扰乱字符串 89. 格雷编码  95. 不同的二叉搜索树 II  96. 不同的二叉搜索树

109. 有序链表转换二叉搜索树 110. 平衡二叉树 111. 二叉树的最小深度 125. 验证回文串 127. 单词接龙 129. 求根节点到叶节点数字之和 130. 被围绕的区域  134. 加油站 144. 二叉树的前序遍历 145. 二叉树的后序遍历

151. 反转字符串中的单词  162. 寻找峰值 164. 最大间距 190. 颠倒二进制位 189. 轮转数组  179. 最大数  174. 地下城游戏  173. 二叉搜索树迭代器  172. 阶乘后的零 

204. 计数质数 201. 数字范围按位与 202. 快乐数 205. 同构字符串 207. 课程表 209. 长度最小的子数组 210. 课程表 II 211. 添加与搜索单词 - 数据结构设计 212. 单词搜索 II  213. 打家劫舍 II 214. 最短回文串 215. 数组中的第K个最大元素

216. 组合总和 III  218. 天际线问题 224. 基本计算器 221. 最大正方形 231. 2 的幂  228. 汇总区间 226. 翻转二叉树 239. 滑动窗口最大值 238. 除自身以外数组的乘积 236. 二叉树的最近公共祖先 235. 二叉搜索树的最近公共祖先

240. 搜索二维矩阵 II 242. 有效的字母异位词 263. 丑数 264. 丑数 II 258. 各位相加  257. 二叉树的所有路径 268. 丢失的数字 274. H 指数  275. H 指数 II 279. 完全平方数 287. 寻找重复数  290. 单词规律 295. 数据流的中位数 299. 猜数字游戏

297. 二叉树的序列化与反序列化  304. 二维区域和检索 - 矩阵不可变 303. 区域和检索 - 数组不可变 301. 删除无效的括号  300. 最长递增子序列 306. 累加数 307. 区域和检索 - 数组可修改 309. 买卖股票的最佳时机含冷冻期

310. 最小高度树  312. 戳气球 313. 超级丑数  315. 计算右侧小于当前元素的个数   316. 去除重复字母    318. 最大单词长度乘积 319. 灯泡开关  321. 拼接最大数 322. 零钱兑换  324. 摆动排序 II   326. 3 的幂  329. 矩阵中的最长递增路径

332. 重新安排行程 336. 回文对  337. 打家劫舍 III 338. 比特位计数  344. 反转字符串 345. 反转字符串中的元音字母 349. 两个数组的交集 350. 两个数组的交集 II 354. 俄罗斯套娃信封问题 357. 统计各位数字都不同的数字个数

363. 矩形区域不超过 K 的最大数值和 365. 水壶问题 367. 有效的完全平方数 368. 最大整除子集 372. 超级次方 374. 猜数字大小 377. 组合总和 Ⅳ 376. 摆动序列 378. 有序矩阵中第 K 小的元素 383. 赎金信 386. 字典序排数

388. 文件的最长绝对路径  390. 消除游戏  393. UTF-8 编码验证  392. 判断子序列 394. 字符串解码  395. 至少有 K 个重复字符的最长子串  397. 整数替换 401. 二进制手表  404. 左叶子之和  403. 青蛙过河   406. 根据身高重建队列

407. 接雨水 II   409. 最长回文串   410. 分割数组的最大值  412. Fizz Buzz 413. 等差数列划分   415. 字符串相加  416. 分割等和子集  417. 太平洋大西洋水流问题  419. 甲板上的战舰  420. 强密码检验器  421. 数组中两个数的最大异或值  

424. 替换后的最长重复字符  427. 建立四叉树   429. N 叉树的层序遍历   433. 最小基因变化  434. 字符串中的单词数   435. 无重叠区间   436. 寻找右区间 437. 路径总和 III  438. 找到字符串中所有字母异位词  440. 字典序的第K小数字 

441. 排列硬币  442. 数组中重复的数据  443. 压缩字符串  446. 等差数列划分 II - 子序列   447. 回旋镖的数量 449. 序列化和反序列化二叉搜索树  451. 根据字符出现频率排序   452. 用最少数量的箭引爆气球  453. 最小操作次数使数组元素相等 

454. 四数相加 II  455. 分发饼干  456. 132 模式  462. 最小操作次数使数组元素相等 II   466. 统计重复个数  467. 环绕字符串中唯一的子字符串 468. 验证IP地址 472. 连接词  474. 一和零  475. 供暖器   479. 最大回文数乘积   480. 滑动窗口中位数  

481. 神奇字符串  482. 密钥格式化 483. 最小好进制  486. 预测赢家   488. 祖玛游戏   491. 非递减子序列   492. 构造矩形   493. 翻转对  494. 目标和  495. 提莫攻击  496. 下一个更大元素 I   500. 键盘行  502. IPO  503. 下一个更大元素 II 

514. 自由之路  516. 最长回文子序列   517. 超级洗衣机 518. 零钱兑换 II 

 

###线段树 树状数组  近期训练题

acwing提高课 一本通提高 kuangbin 算法进阶指南 挑战程序设计  算法问题实战策略  算法训练营进阶

 

 

 

Leetcode 热题 HOT 100题解

Leetcode 001 两数之和

LeetCode 002. 两数相加 模拟

LeetCode 003. 无重复字符的最长子串 双指针

Leetcode 004 寻找两个正序数组的中位数

Leetcode 005 最长回文子串

Leetcode 010 正则表达式匹匹配 DP

Leetcode 011. 盛最多水的容器 双指针

Leetcode 012. 整数转罗马数字 v1

Leetcode 013. 罗马数字转整数 v1

Leetcode 014 最长公共子前缀 简单题目  视频直接讲解

Leetcode 015. 三数之和  v1 

LeetCode 017. 电话号码的字母组合 dfs

Leetcode 019. 删除链表的倒数第 N 个结点

LeetCode 020. 有效的括号 数据结构 栈

Leetcode 021 合并两个有序链表  简单题目  视频直接讲解

LeetCode 022. 括号生成 DFS

Leetcode 023 合并K个升序链表 堆 链表

Leetcode 031. 下一个排列 

Leetcode 032. 最长有效括号

Leetcode 033. 搜索旋转排序数组 二分

Leetcode 039. 组合总和 dfs

Leetcode 044. 通配符匹配

Leetcode 45. 跳跃游戏 II

LeetCode 046. 全排列 dfs 和 dfs_swap

LeetCode 048. 旋转图像

LeetCode 049. 字母异位词分组

Leetcode 055 跳跃游戏

LeetCode 062. 不同路径 dp

Leetcode 064. 最小路径和 dp

Leetcode 072 编辑距离 dp

Leetcode 075. 颜色分类

LeetCode 078. 子集 dfs

Leetcode 84 柱状图中最大的矩形

Leetcode 085 最大矩形

Leetcode 128. 最长连续序列

Leetcode 139. 单词拆分 dp

Leetcode 169. 多数元素 哈希 摩尔投票

 Leetcode 207. 课程表

Leetcode 217. 存在重复元素 哈希 排序

Leetcode 221. 最大正方形

Leetcode 231. 2 的幂

Leetcode 237. 删除链表中的节点

Leetcode 279. 完全平方数 记忆化搜索

Leetcode 309. 最佳买卖股票时机含冷冻期 dp

Leetcode 312. 戳气球 区间dp

Leetcode 322. 零钱兑换 dp

Leetcode 337. 打家劫舍 III

Leetcode 347. 前 K 个高频元素 哈希 堆

Leetcode 347. 前 K 个高频元素

Leetcode 394. 字符串解码

Leetcode 406. 根据身高重建队列 排序

Leetcode 416. 分割等和子集 dp

Leetcode 438. 找到字符串中所有字母异位词 哈希 双指针

Leetcode 461. 汉明距离 位运算

Leetcode 494. 目标和 dp

Leetcode 538. 把二叉搜索树转换为累加树

Leetcode 543. 二叉树的直径 树的遍历

Leetcode 560. 和为 K 的子数组 前缀和 哈希

Leetcode 581. 最短无序连续子数组 排序

Leetcode 617. 合并二叉树 遍历二叉树

Leetcode 739. 每日温度 单调栈

Leetcode 1143. 最长公共子序列

 

 

LEETCODE 刷题记录与资料

Leetcode 001 两数之和

LeetCode 002. 两数相加 模拟

LeetCode 003. 无重复字符的最长子串 双指针

Leetcode 004 寻找两个正序数组的中位数

Leetcode 005 最长回文子串

Leetcode 010 正则表达式匹匹配 DP

Leetcode 11. 盛最多水的容器 双指针

Leetcode 12. 整数转罗马数字 v1

LeetCode 012. 整数转罗马数字 模拟打表 v0

Leetcode 013. 罗马数字转整数 模拟 v0

Leetcode 13. 罗马数字转整数 v1

Leetcode 15. 三数之和  v1

Leetcode 16. 最接近的三数之和

LeetCode 017. 电话号码的字母组合 dfs

Leetcode 19. 删除链表的倒数第 N 个结点

LeetCode 22. 括号生成 DFS

Leetcode 023 合并K个升序链表 堆 链表

Leetcode 26. 删除有序数组中的重复项 双指针 

Leetcode 27. 移除元素 双指针 

字符串比较 kmp算法 Leetcode 28 Leetcode 1392

Leetcode 30. 串联所有单词的子串

Leetcode 31. 下一个排列 

Leetcode 032. 最长有效括号

Leetcode 33. 搜索旋转排序数组 二分

Leetcode 35. 搜索插入位置 二分查找 

Leetcode 036 有效的数独

LeetCode 037. 解数独 DFS

Leetcode 39. 组合总和 dfs

Leetcode 40. 组合总和 II dfs

LeetCode 040. 组合总和 II 非SET去重

Leetcode 043. 字符串相乘 模拟

LeetCode 44. 通配符匹配 dp

Leetcode 45. 跳跃游戏 II

LeetCode 046. 全排列 dfs 和 dfs_swap

LeetCode 047. 全排列 II DFS

LeetCode 048. 旋转图像

LeetCode 049. 字母异位词分组

Leetcode 050. Pow(x, n)

Leetcode 51&&52. N 皇后 DFS 回溯

Leetcode 055 跳跃游戏

Leetcode 56 区间合并 排序

Leetcode 59. 螺旋矩阵 II

Leetcode 61. 旋转链表

LeetCode 062. 不同路径 dp

LeetCode 063. 不同路径 II dfs 配图

Leetcode 64. 最小路径和 DP

Leetcode 066 加一

Leetcode 69. x 的平方根 二分

Leetcode 71. 简化路径

Leetcode 072 编辑距离 dp

LeetCode 74. 搜索二维矩阵

Leetcode 075. 颜色分类

LeetCode 077. 组合 dfs

LeetCode 80. 删除有序数组中的重复项 II 双指针

Leetcode 83. 删除排序链表中的重复元素 链表操作

Leetcode 84 柱状图中最大的矩形

Leetcode 085 最大矩形

LeetCode 86 分割链表

Leetcode 88. 合并两个有序数组 双指针

Leetcode 089. 格雷编码 找规律

Leetcode 90. 子集 II dfs

LeetCode 091. 解码方法 DP

Leetcode 93. 复原 IP 地址 dfs

Leetcode 94. 二叉树的中序遍历

Leetcode 97. 交错字符串 dfs+记忆化搜索

Leetcode 98. 验证二叉搜索树 DFS

Leetcode 103. 二叉树的锯齿形层序遍历

Leetcode 104. 二叉树的最大深度 dfs

Leetcode 105. 从前序与中序遍历序列构造二叉树

Leetcode 106. 从中序与后序遍历序列构造二叉树

Leetcode 108 将有序数组转换为二叉搜索树

Leetcode 115 翻转字符串里的单词

Leetcode 118 杨辉三角

Leetcode 120 三角形最小路径和

Leetcode 121 买卖股票的最佳时机

Leetcode 122. 买卖股票的最佳时机 II dp

Leetcode 123. 买卖股票的最佳时机 III dp

Leetcode 124. 二叉树中的最大路径和 dfs

Leetcode 125. 验证回文串 双指针

LeetCode 126. 单词接龙 II

Leetcode 128. 最长连续序列

LeetCode 131. 分割回文串 DFS

Leetcode 132. 分割回文串 II dp

Leetcode 134 加油站点 贪心

Leetcode 135. 分发糖果

Leetcode 139. 单词拆分 dp

LeetCode 140. 单词拆分 II dfs 哈希

LeetCode 141. 环形链表 快慢指针

LeetCode 142. 环形链表 II 链表遍历 哈希

LeetCode 150. 逆波兰表达式求值 栈 

Leetcode 152. 乘积最大子数组 dp

LeetCode 155. 最小栈 哈希 栈

Leetcode 160. 相交链表 哈希 链表

Leetcode 169. 多数元素 哈希 摩尔投票

Leetcode 179 最大数 排序

Leetcode 187. 重复的DNA序列 哈希

Leetcode 199. 二叉树的右视图 树的遍历

Leetcode 202 快乐数

Leetcode 205. 同构字符串 哈希

Leetcode 209. 长度最小的子数组 双指针

Leetcode 207. 课程表

Leetcode 208. 实现 Trie (前缀树)

Leetcode 211. 添加与搜索单词 - 数据结构设计 trie前缀树

Leetcode 215. 数组中的第K个最大元素 排序 优先队列

Leetcode 217. 存在重复元素 哈希 排序

Leetcode 221. 最大正方形

LeetCode 224. 基本计算器 栈 双指针

LeetCode 227. 基本计算器 II 栈 双指针

Leetcode 228. 汇总区间

Leetcode 230. 二叉搜索树中第K小的元素 中序遍历

Leetcode 231. 2 的幂

Leetcode 237. 删除链表中的节点

Leetcode 238. 除自身以外数组的乘积 前缀和

LeetCode 239. 滑动窗口最大值 && 剑指 Offer 59 - I 滑动窗口的最大值 单调队列 配图

Leetcode 240. 搜索二维矩阵 II 暴力与二分

Leetcode 268. 丢失的数字 异或

Leetcode 278 第一个错误的版本 二分

Leetcode 290. 单词规律 切割字符 哈希

Leetcode 292. Nim 游戏

Leetcode 299. 猜数字游戏 哈希

Leetcode 300. 最长递增子序列

Leetcode 301 删除无效的括号 DFS+剪枝

Leetcode 303. 区域和检索 - 数组不可变

Leetcode 304. 二维区域和检索 - 矩阵不可变 二维前缀和

Leetcode 307. 区域和检索 - 数组可修改 线段树

Leetcode 312. 戳气球 区间dp

Leetcode 322. 零钱兑换 dp

LeetCode 316. 去除重复字母 栈 哈希

LeetCode 327. 区间和的个数

Leetcode 329. 矩阵中的最长递增路径 dp

Leetcode 344. 反转字符串

Leetcode 347. 前 K 个高频元素 哈希 堆

LeetCode 374. 猜数字大小 二分

LeetCode 387. 字符串中的第一个唯一字符 哈希

Leetcode 406. 根据身高重建队列 排序

LeetCode 415. 字符串相加

Leetcode 416. 分割等和子集 dp

Leetcode 438. 找到字符串中所有字母异位词 哈希 双指针

Leetcode 461. 汉明距离 位运算

Leetcode 494. 目标和 dp

LeetCode 500. 键盘行 哈希

LeetCode 547. 朋友圈 并查集

Leetcode 557. 反转字符串中的单词 III

Leetcode 560. 和为 K 的子数组 前缀和 哈希

Leetcode 576. 出界的路径数 dp

Leetcode 581. 最短无序连续子数组 排序

Leetcode 617. 合并二叉树 遍历二叉树

LeetCode 659. 分割数组为连续子序列

Leetcode 739. 每日温度 单调栈

Leetcode 866. 回文质数

LeetCode 977. 有序数组的平方 双指针 二分

Leetcode 990 等式方程的可满足性 并查集

Leetcocde 1092. 最短公共超序列

Leetcode 1143. 最长公共子序列

LeetCode 1366. 通过投票对团队排名 哈希排序

Leetcode 1480. 一维数组的动态和 前缀和数组的计算

Leetcode 1514. 概率最大的路径

Leetcode 1552. 两球之间的磁力 二分

LeetCode 1652. 拆炸弹 模拟

LeetCode 1689. 十-二进制数的最少数目 模拟 观察规律

Leetcode 1691. 堆叠长方体的最大高度

LeetCode 1736. 替换隐藏数字得到的最晚时间 贪心

LeetCode 1743. 相邻元素对还原数组 哈希

LeetCode 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?

LeetCode 1745. 回文串分割 IV dp

LeetCode 1748. 唯一元素的和 哈希

LeetCode 1749. 任意子数组和的绝对值的最大值 动态规划

LeetCode 1750. 删除字符串两端相同字符后的最短长度 双指针

Leetcode 1833. 雪糕的最大数量 贪心

Leetcode 2507. 使用质因数之和替换后可以取到的最小值 优化前 优化后

Leetcode 2521. 数组乘积中的不同质因数数目

Leetcode 2894. 分类求和并作差

Leetcode 2896. 执行操作使两个字符串相等

Leetcode 3161. 物块放置查询

Leetcode LCP 02. 分式化简

Leetcode LCP 14. 切分数组

 

 

 

 

 

Leetcode 剑指Offer系列视频题解

剑指Offer 007. 重建二叉树 递归

剑指 Offer 09. 用两个栈实现队列 栈

Leetcode 154 寻找旋转排序数组中的最小值 II 剑指 Offer 11. 旋转数组的最小数字 二分

Leetcode 079 单词搜索 剑指 Offer 012. 矩阵中的路径 DFS

剑指 Offer 13. 机器人的运动范围 bfs dfs

剑指 Offer 18. 删除链表的节点 链表

LeetCode 剑指 Offer 61. 扑克牌中的顺子 模拟

剑指 Offer 59 - I 滑动窗口的最大值 &&  LeetCode 239. 滑动窗口最大值  单调队列 配图

剑指 Offer 26. 树的子结构 树的遍历

剑指 Offer 32 - I.. 从上到下打印二叉树

剑指 Offer 32 - II 从上到下打印二叉树 && LeetCode 102. 二叉树的层序遍历

剑指 Offer 32 - III. 从上到下打印二叉树 III

剑指 Offer 35 复杂链表的复制 && LeetCode 138 复制带随机指针的链表 哈希

剑指 Offer 33. 二叉搜索树的后序遍历序列 树的遍历

剑指 Offer 47. 礼物的最大价值 dp

剑指 Offer 03. 数组中重复的数字 哈希

剑指 Offer 22 链表中倒数第k个节点 双指针

剑指 Offer 24. 反转链表

剑指 Offer 28. 对称的二叉树 树的遍历 && Leetcode 101. 对称二叉树

剑指 Offer 49. 丑数

剑指 Offer 67. 把字符串转换成整数 && Leetcode 8 字符串转换整数 (atoi)

剑指 Offer 30. 包含min函数的栈

剑指 Offer 29. 顺时针打印矩阵 && Leetcode 54. 螺旋矩阵

剑指 Offer 31. 栈的压入、弹出序列 && Leetcode 946. 验证栈序列

剑指 Offer 36. 二叉搜索树与双向链表 树的遍历

剑指 Offer 51. 数组中的逆序对 归并排序

剑指 Offer 42. 连续子数组的最大和 && Leetcode 53. 最大子序和 动态规划

剑指 Offer 53 - II. 0~n-1中缺失的数字

剑指 Offer 45. 把数组排成最小的数 排序

剑指 Offer 46. 把数字翻译成字符串 dp

剑指 Offer 41. 数据流中的中位数 && Leetcode 259

剑指 Offer 48. 最长不含重复字符的子字符串 哈希双指针

剑指 Offer 52. 两个链表的第一个公共节点 哈希

剑指 Offer 54. 二叉搜索树的第k大节点 树的遍历

剑指 Offer 55 - II. 平衡二叉树 dfs

剑指 Offer 63. 股票的最大利润

剑指 Offer 57. 和为s的两个数字 哈希 双指针 二分查找

剑指 Offer 58 - II. 左旋转字符串

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 && Leetcode 235 二叉搜索树的最近公共祖先

剑指 Offer 68 - II. 二叉树的最近公共祖先 && Leetcode 236. 二叉树的最近公共祖先

 

 

程序员面试金典 <Cracking the Coding Interview>题解

程序员面试金典 <Cracking the Coding Interview> 面试题 01.01. 判定字符是否唯一 哈希

程序员面试金典 <Cracking the Coding Interview> 面试题 01.02. 判定是否互为字符重排 哈希

程序员面试金典 <Cracking the Coding Interview> 面试题 01.03. URL化 配图

程序员面试金典 <Cracking the Coding Interview> 面试题 01.04. 回文排列 哈希

程序员面试金典 <Cracking the Coding Interview> 面试题 01.06. 字符串压缩

程序员面试金典 <Cracking the Coding Interview> 面试题 02.03. 删除中间节点

程序员面试金典 <Cracking the Coding Interview> 面试题 02.06. 回文链表 双指针 数组

程序员面试金典 <Cracking the Coding Interview> 面试题 01.05. 一次编辑

程序员面试金典 <Cracking the Coding Interview> 面试题 02.08. 环路检测

Leetcode 2. 两数相加 && 面试题 02.05. 链表求和

程序员面试金典 <Cracking the Coding Interview> 面试题 04.01. 节点间通路

程序员面试金典 <Cracking the Coding Interview>  面试题 04.02. 最小高度树

 

 

力扣其他的一些题单

【精简题单】差分数组(Python/Java/C++/Go/JS)

【题单】滑动窗口(定长/不定长/多指针)

【题单】单调栈(矩形面积/贡献法/最小字典序)

【题单】网格图(DFS/BFS/综合应用)

【题单】位运算(基础/性质/拆位/试填/恒等式/贪心/脑筋急转弯)

【题单】二分算法(二分答案/最小化最大值/最大化最小值/第K小)

【题单】动态规划(入门/背包/状态机/划分/区间/状压/数位/树形/数据结构优化)

【题单】常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树)

【题单】数学算法(数论/组合/概率期望/博弈/计算几何/随机算法)

【题单】图论算法(DFS/BFS/拓扑排序/最短路/最小生成树/二分图/基环树/欧拉路径)

 

 

 

PAT  甲级题解 

PAT 甲级题解

 

 

算法问题实战策略

算法问题实战策略 题解

 

挑战程序设计竞赛1题解合集

《挑战程序设计竞赛1》题解合集

 

《算法竞赛进阶指南》

《算法竞赛进阶指南》 题解

  

 

《信息学奥赛一本通》 刷题

 <信息学奥赛一本通> 提高篇 刷题记录

 

 

算法训练营 刷题

算法训练营 刷题

 

 

 

杂题合集题解

算法杂题题解 合集

 

 

 Acwing oj网站

oj算法专题 (kaungbin acwing 算法进阶指南)

acwing的个人题解空间 https://www.acwing.com/user/myspace/solution/index/acwing/1055/

 

挑战编程  刘汝佳

挑战编程-程序设计竞赛训练手册

 

 

一些涉及到概率 线代 微积分的算法模板  好博文

https://fanfansann.blog.csdn.net/article/details/112974328

 

usaco 全题解    USACO 完结的一些感想

挑战程序设计竞赛 题解参考  地址 

 

一个国外程序员自写的 游戏及机器人代码

http://petr.lastovicka.sweb.cz/games.html 

 

一些OJ地址

acwing(目前用的最多) poj    voj(AIZU  uva 等网站远程提交)   voj备用      newUVA   algospot <-defalgo(n*)

数据提供下载  uoj  loj  洛谷 oiwiki 51nod  papamelong   

https://www.starrycoding.com/#/  <-d**d*r(d*r*hijk) 

一本通 1~6章节  pass

http://oj.daimayuan.top/user/profile/itdef  --->  oj wls  d**d*r(n*)  itdef(d**d*r(n*))

考研数学  http://www.dxzy163.com/list/index48.html

https://www.deepl.com/translator 在线翻译 打比赛用

 

牛客网进阶版课程

posted on 2019-05-12 23:30  itdef  阅读(8203)  评论(0编辑  收藏  举报

导航