// 二叉樹的中序非遞迴遍歷
public static void medorderunrecur(node root)
stackstack = new stack<>();
while (!stack.empty() || root != null) else
}system.out.println();
}
leetcode 98 驗證二叉搜尋樹
一開始想到二叉搜尋樹按照中序遍歷的話是乙個遞增序列 只要比較兩個頂點的大小,小於的話就返回false,否則往右走,但提交的時候報了錯..沒搞懂 後面看了下別人的思路,用的是遞迴版本
double last = -double.max_value;
public boolean isvalidbst(treenode root)
if (isvalidbst(root.left))
}return false;
}
下面是非遞迴版本
public boolean isvalidbst(treenode root)
int predata = integer.min_value;
stackstack = new stack<>();
while (root != null || !stack.empty()) else else
root = node.right;}}
return true;
}
深搜專題996(一)
搞心態了屬於是。先上我的 include using namespace std int n int s 101 int g 101 int h 101 int r 101 int c int total 0 bool up int a,int b bool cmp int a 101 if tot...
leetcode 子集 深搜
給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 class solution void dfs vector nums,int u 選now.push ba...
排列組合 深搜專題複習
有n種物品,並且知道每種物品的數量。要求從中選出m件物品的排列數。例如有兩種物品a,b,並且數量都是1,從中選2件物品,則排列有 ab ba 兩種。input 每組輸入資料有兩行,第一行是二個數n,m 1 m,n 10 表示物品數,第二行有n個數,分別表示這n件物品的數量。output 對應每組資料...