摘要:
题目 分析 代码 1 class Solution { 2 public: 3 void dfs(TreeNode* root,vector<int>&res){ 4 if(root == NULL) return; 5 6 dfs(root->left,res); 7 res.push_back( 阅读全文
posted @ 2021-02-22 21:37
Uitachi
阅读(36)
评论(0)
推荐(0)
摘要:
题目 分析 后序遍历的非递归写法基本上就是按照前序遍历的非递归写出来的。前序遍历:根左右,后序遍历:左右根。如果把前序遍历的结果反转:得到根右左。这就启发我们,前序遍历的非递归代码基本不变,只需要将右孩子先入栈改为左孩子先入栈即可。这样得到的遍历顺序是:根右左。最后反转得到左右根 代码(递归) 1 阅读全文
posted @ 2021-02-22 21:34
Uitachi
阅读(54)
评论(0)
推荐(0)
摘要:
题目 分析 用栈来模拟前序遍历,注意右孩子先进左孩子后进,这样出栈顺序就是先左后右! 代码(递归) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode 阅读全文
posted @ 2021-02-22 21:30
Uitachi
阅读(49)
评论(0)
推荐(0)
摘要:
题目 分析 最短路,权值相同,用BFS 代码 1 #include<iostream> 2 #include<algorithm> 3 #include<queue> 4 #include<cstring> 5 using namespace std; 6 7 const int N = 110; 阅读全文
posted @ 2021-02-22 16:31
Uitachi
阅读(71)
评论(0)
推荐(0)
摘要:
题目 分析一 本问题可以按照全排列的dfs来写。生成一个排列数,下标 i 对应第 i 行,其上的数字代表放哪一列。 代码 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 const int N = 20;//这里 阅读全文
posted @ 2021-02-22 11:11
Uitachi
阅读(93)
评论(0)
推荐(0)
摘要:
题目 分析 代码 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 const int N = 7; 5 6 bool st[N]; 7 int path[N]; 8 9 void dfs(int n,int u) 阅读全文
posted @ 2021-02-22 10:09
Uitachi
阅读(61)
评论(0)
推荐(0)

浙公网安备 33010602011771号