<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      二叉樹中和為目標(biāo)值的路徑

      LCR 153. 二叉樹中和為目標(biāo)值的路徑

      LCR 153. 二叉樹中和為目標(biāo)值的路徑

      參考題解

      前言

      該題考察二叉樹中的回溯,使用先序遍歷以及路徑記錄

      先序遍歷:根左右

      路徑記錄:通過一個(gè)“中間人”(path)來記錄當(dāng)前的路徑和,當(dāng)符合目標(biāo)條件就賦值給res

      遞歸函數(shù)–recur()

      1、邊界條件

      • root為空的時(shí)候,直接返回

      2、把root.val加入到path中,同時(shí)還要對(duì)tar減去root.val,即tar -= root.val

      3、當(dāng)root是葉子節(jié)點(diǎn),而且目標(biāo)值tar等于 0 的時(shí)候,即這一條path是符合題目要求的,將path加入到res當(dāng)中

      • 注意:這里將path加入到res需要新建一個(gè)對(duì)象,再加入到res中,否則會(huì)有數(shù)據(jù)沖突,后續(xù)path發(fā)生改變的時(shí)候,res中的path也會(huì)有改變,因?yàn)樵?code>path變量始終都是同一個(gè)對(duì)象,在堆中的地址是一樣的,因?yàn)椴判枰陆ㄒ粋€(gè)對(duì)象再加入到res

      4、遞歸遍歷左,右子樹

      5、由于已經(jīng)遍歷到了葉子節(jié)點(diǎn),因此需要進(jìn)行回溯,即path.pop()

      public void recur(TreeNode root, int tar) {
          if(root == null) {
              return;
          }
          path.add(root.val); // 加入當(dāng)前節(jié)點(diǎn)值到 path
          tar -= root.val;
          if(tar == 0 && root.left == null && root.right == null) {
              res.add(new LinkedList<>(path));
          }
          recur(root.left, tar);
          recur(root.right, tar);
          path.removeLast();
      }
      

      pathTarget函數(shù)

      執(zhí)行遞歸函數(shù)recur()

      返回res

      注意:pathres需要定義為全局變量

      public List<List<Integer>> pathTarget(TreeNode root, int target) {
          recur(root, target);
          return res;
      }
      

      完整代碼展示

      class Solution {
          private final List<List<Integer>> res = new LinkedList<>();
          private final List<Integer> path = new LinkedList<>();
      
          public List<List<Integer>> pathTarget(TreeNode root, int target) {
              recur(root, target);
              return res;
          }
      
          public void recur(TreeNode root, int tar) {
              if(root == null) {
                  return;
              }
              path.add(root.val); // 加入當(dāng)前節(jié)點(diǎn)值到 path
              tar -= root.val;
              if(tar == 0 && root.left == null && root.right == null) {
                  res.add(new LinkedList<>(path));
              }
              recur(root.left, tar);
              recur(root.right, tar);
              path.removeLast();
          }
      }
      

      ps:該題的一些思想和全排列有些相似

      posted @ 2025-10-15 00:09  Lantz12  閱讀(6)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 丰满无码人妻热妇无码区| 丝袜国产一区av在线观看| 91久久久久无码精品露脸| 张北县| 粉嫩国产一区二区三区在线| 国产成人精品18| 久久久久久久久久久免费精品| 嘉兴市| 国产最大成人亚洲精品| 大桥未久亚洲无av码在线| 狠狠精品久久久无码中文字幕| 亚洲の无码国产の无码步美| 精品尤物国产尤物在线看| 天堂mv在线mv免费mv香蕉| 久久er99热精品一区二区| 日本道之久夂综合久久爱| 精品国产精品午夜福利| 成年女人免费碰碰视频| 女人腿张开让男人桶爽| 在线免费观看视频1区| 国产稚嫩高中生呻吟激情在线视频| 精品国偷自产在线视频99| 少妇人妻av毛片在线看| 久久精品一区二区三区综合| 精品人妻伦一二三区久久aaa片| 成人3D动漫一区二区三区| 亚洲成在人天堂一区二区| 亚洲色欲在线播放一区| 伊人色综合一区二区三区| 暖暖影院日本高清...免费| 国产精品自拍一二三四区| 东京热一精品无码av| 性色欲情网站| 国产精品第二页在线播放| 日产精品一区二区三区免费| 亚洲欧美偷国产日韩| 精品国产粉嫩一区二区三区| 久久久久人妻精品一区三寸 | 中文字幕国产原创国产| 亚洲欧洲日产国产av无码| 久久人人97超碰爱香蕉 |