聊城做網(wǎng)站的公司信息市場(chǎng)調(diào)研報(bào)告怎么寫的
1.題目描述
2.思路
(1)因?yàn)槭乔蠖鏄涞乃新窂?br /> (2)然后是帶固定格式的
所以我們要把每個(gè)節(jié)點(diǎn)的整數(shù)數(shù)值換成字符串?dāng)?shù)值
(3)首先先考慮根節(jié)點(diǎn),也就是要滿足節(jié)點(diǎn)不為空
返回遞歸的形式dfs(根節(jié)點(diǎn),“”,路徑列表的路徑)
比如根節(jié)點(diǎn)是root=1,所以返回dfs(1,“1”,1)
(4)如果不是根節(jié)點(diǎn)(但是也要滿足系欸但不為空)
先把每個(gè)節(jié)點(diǎn)的數(shù)字轉(zhuǎn)換成字符串
然后把當(dāng)前節(jié)點(diǎn)是葉子節(jié)點(diǎn)的加入到路徑列表的路徑中
(5)如果不是葉子節(jié)點(diǎn),則要繼續(xù)遍歷
格式就是先根節(jié)點(diǎn)-》左節(jié)點(diǎn)->再右節(jié)點(diǎn)進(jìn)行遞歸遍歷## 3.代碼實(shí)現(xiàn)
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> paths=new ArrayList<>();if(root!=null)//根節(jié)點(diǎn)不為空{dfs(root,"",paths);//返回根節(jié)點(diǎn),也就是路徑}return paths;}private void dfs(TreeNode node,String path,List<String>paths){ if(node!=null){path+=Integer.toString(node.val);//將數(shù)字節(jié)點(diǎn)的值轉(zhuǎn)換成路徑上的字符串?dāng)?shù)字if(node.left==null&&node.right==null){//如果當(dāng)前是 葉子節(jié)點(diǎn)paths.add(path);//把路勁加入結(jié)果列表}else{path+="->";//不是葉子節(jié)點(diǎn),自頂向下遍歷,這邊的path是字符串dfs(node.left,path,paths);dfs(node.right,path,paths);}}}
}